Программалау оқулық Алматы, 012 Қазақстан Республикасы Білім жəне ғылым министрлігінің «Оқулық»



Pdf көрінісі
бет157/642
Дата30.03.2022
өлшемі3,66 Mb.
#29231
түріПрограмма
1   ...   153   154   155   156   157   158   159   160   ...   642
Байланысты:
pavlovskaia-jogargy-dengeili

#include

#include

#include

#include

int main(){

FILE *fi , *fo;

if((fi  = fopen("d:\\c\\fi le.txt", "r"))==0){

      cout << "Кіріс файлды ашуда қате"; return 1;} 

if((fo = fopen("d:\\c\\binfi le.out", "w+b"))==0){

      cout << "Шығыс файлды ашуда қате"; return 1;}

const int dl = 80;

char  s[dl];

struct {

char type[20];

int  opt, rozn;

char comm [40];

} mon;

int kol = 0;            // Файлдағы жазбалар саны 

while (fgets(s, dl, fi )){

//Тіркесті құрылымға түрлендіру:

strncpy (mon.type, s, 19); 

// strncpy сипаттамасын 6-қосымшадан қараңыз

mon.type[19]='\0';

mon.opt = atoi(&s[20]); 

// atoi сипаттамасын келесі бөлімнен қараңыз

mon.rozn = atoi(&s[25]);

strncpy(mon.comm, &s[30], 40);

fwrite(&mon, sizeof mon, 1, fo);

kol++;

}

fclose(fi );

int i; cin >> i;        // Жазба нөмірі

if (i >= kol){ cout << "Мұндай жазба жоқ"; 

return 1;}

/* Файлдың ағымдағы позициясы нұсқауышын i жазбасына 

   орнату:      */

fseek(fo, (sizeof mon)*i, SEEK_SET);

fread(&mon, sizeof mon, 1, fo);

cout << "mon.type "<< mon.type << " opt " << mon.opt

     << " rozn " << mon.rozn << endl;


97

fclose(fo);

return 0;

}

Тіркестермен жəне символдармен жұмыс істеу функциялары

Тіркес нөл-символмен аяқталатын символдар жиымы болып табылады. 

С++ тілінде тіркестермен жұмыс істеудің екі мүмкіндігі: С кітапханасынан 

мұраланған функциялар (



 

немесе 


 тақырыптық файлы) 

жəне тіркестерді бейнелеудің, өңдеудің, бақылаудың кеңірек мүмкіндіктерін 

қамтамасыз ететін С++ тілінің 



string

 кітапханалық класы (ол «Тіркестер» 

бөлімінде, 307 б. қарастырылады) бар.

С кітапханасында тіркестерді көшіру (



strcpy, strncpy

), салысты-

ру (

strcmp, strncmp

), біріктіру (



strcat, strncat

), ішкі тіркесті іздеу 

(

strstr

), ішкі символды іздеу (



strchr, strrchr, strpbrk

), тіркес 

ұзындығын анықтау (

strlen

) жəне басқа да функциялар бар. Функциялардың 

толық тізімі 6-қосымшада берілген. 

Тіркестерді сандарға түрлендіру функциялары  



 

жəне 


  тақырыптық файлдарында сақталған (кері түрлендірулерді 



sprintf

 функциясының көмегімен орындауға болады):

□  double atof (const char* p) 

– берілген тіркесті 



double

 типіне 


түрлендіреді;

□  int atoi (const char* p)

 – берілген тіркесті

 int

 типіне 


түрлендіреді;

□  long atol (const char* p)

 – берілген тіркесті

 long

 типіне 


түрлендіреді.

Тіркес басындағы бос орын жəне табуляция белгілері ескерілмейді. 

Түрлендіру операциясы мағынасы болмайтын символ коды кездескенде не-

месе тіркес соңына жеткенде тоқтатылады. Егер тіркесті санға түрлендіру 

мүмкін болмаса, 0 мəні қайтарылады. Ал егер сан берілген тип диапазонының 

шекарасынан шығып кетсе, 





Достарыңызбен бөлісу:
1   ...   153   154   155   156   157   158   159   160   ...   642




©emirsaba.org 2024
әкімшілігінің қараңыз

    Басты бет