void open(const char *filename, ios_base:openmode mode=ios _base::out); - void open(const char *filename, ios_base:openmode mode=ios _base::out);
Fayl ustuda o’qish yoki yozish amalini bajarib bo’lgandan keyin, faylni yopish kerak. Faylni yopish uchun close() funksiyasi ishlatiladi. - Fayl ustuda o’qish yoki yozish amalini bajarib bo’lgandan keyin, faylni yopish kerak. Faylni yopish uchun close() funksiyasi ishlatiladi.
- yozish.close();
- oqish.close();
istream& seekg(streampos pos); - istream& seekg(streampos pos);
- istream& seekg(streamoff off, ios_base ::seekdir dir);
- ostream& seekp(streampos pos);
- ostream& seekp(streamoff off, ios_base ::seekdir dir);
- O’qish yoki yozish oqimi ko’rsatgichini o’rnatish(siljitish)
- pos - oqim buferining yangi positsiyasi.
- dir parametri quyidagilardan birini qabul qilishi mumkin:
- long tellg();
- O’qish oqimining joriy holatini aniqlash.
- long tellp();
- Yozish oqimining kelgan joyini aniqlash.
- Oqimlarni ochish va yopish;
- Simvol, qator, satr, formatlangan ma’lumot ixtiyoriy uzunlikdagi ma’lumotlarni kiritish yoki chiqarish va fayl oxiriga yetganlik shartini tahlil qilish;
- Buferlash va bufer hajmini boshqarish;
- Ko’rsatkich oqimdagi o’rnini aniqlash yoki yangi o’ringa ko’chirish
- Dastur bajarilishi boshlanganda quyidagi oqimlar ochiladi:
- stdin - standart kiritish oqimi; //standart input
- stdout - standart chiqarish oqimi; //standart output
- stderr - Xatolar haqida ma’lumotlar standart oqimi; //standart error
- I etap. Faylni ochish (uni ishga tayyorlash va uni
- faollashtirish)
- f = fopen(“bir.txt", “r");
- II etap: fayl bilan ishlash
- fscanf ( f, "%d", &n ); // n qiymatini kiritish
- fprintf( f, "n=%d", n ); // n qiymatini yozish
- ("r", англ. read) faqat o’qish uchun
- f = fopen(“bir.txt", "w");
- ("w", англ. write) faqat yozish uchun
- f = fopen(“bir.txt", "a");
- ("a", англ. append) faqat yangilash uchun
- O’zgaruvchi tipi
- «faylga ko’rsatkich»: FILE *f;
- Oqim ochilishi uchun, oldindan kiritilgan FILE turidagi strukturasidan foydalaniladi
- FILE *
- Misol uchun FILE * fp
- fp = fopen(“t.txt”, “r”)
- “w”- Yangi fayl yozish uchun ochiladi. Agar fayl mavjud bo’lmasa yangidan yaratiladi.
- “r” - Mavjud fayl faqat o’qish uchun ochiladi.
- “a” - Fayl davom ettirish uchun ochiladi.
- “w+” - Fayl yozish va tahrirlash uchun ochiladi. Faylni ixtiyoriy joyidan o’qish yoki yozish mumkin.
- “r+”- fayl ixtiyoriy joyidan o’qish yoki yozish mumkin, lekin fayl oxiriga qo’shish mumkin emas.
- “a+” - Fayl ixtiyoriy joyidan o’qish va yozish uchun ochiladi. Quyidagi “w+” rejimdan farqli fayl oxiriga ma’lumot qo’shish mumkin.
- FILE *f;
- f = fopen(“uch.txt", "r");
- if ( f == NULL ) {
- puts(“fayl topilmadi.");
- return;
- }
- faylni nomi noto’g’ri
- fayl yo’q
- fayl boshqa dastur tomonidan ishlatilmoqda
- Agarda fayl ochilmasa, u holda fopen funksiyasi NULL qiymat chiqaradi (nulli qiymat)!
- FILE *f;
- f = fopen(“turt.txt", "w");
- if ( f == NULL ) {
- puts(“fayl ochilmadi.");
- return;
- }
- fayl nomi noto’g’ri
- fayl «faqat o’qish uchun»
- fayl boshqa dastur tomonidan ishlatilmoqda
- FILE *f;
- int n, x;
- f = fopen("input.txt", "r");
- ...
- n = fscanf ( f, "%d", &x );
- if ( n ! = 1 )
- puts ( “Sonni o’qib bo’lmadi" );
- fscanf funksiyasi quyidagi qiymatlarni chiqaradi o’qilgan sonlar sonini;
- 0, agarda faylni o’qishda xatolik bo’lsa;
- – 1, agarda faylni oxiriga borilsa.
- fayl oxiriga borildi
- «sonni» uchratilmadi
- main()
- {
- FILE *f;
- int n, x, S = 0;
- f = fopen ( "input.txt", "r" );
- if ( f == NULL ) {
- printf(“Fayl topilmadi.");
- getch(); return 0;
- }
- while ( 1 ) {
- n = fscanf ( f, "%d", &x );
- if ( n != 1 ) break;
- S += x;
- }
- fclose ( f );
- f = fopen ( "output.txt", "w" );
- fprintf ( f, "S = %d", S );
- fclose ( f ); }
- Ma’lumotlarni o’qish sikli: n 1 da chiqish.
- int ReadArray ( int A[], char fName[], int MAX )
- {
- int N = 0, k;
- FILE *f;
- f = fopen ( fName, "r" );
- while ( 1 ) {
- k = fscanf ( f, "%d", &A[N]);
- if ( k != 1 ) break;
- N ++;
- if ( N >= MAX ) break;
- }
- fclose(f);
- return N; }
- Fayldan massivni o’quvchi funksiya massiv elementlar sonini chiqaradi (kamida MAX):
- Agarda o’qish mumkin bo’lmasa sikldan chiqish
C++ da matnli fayllar bilan ishlashning bir necha yo’llari mavjud. Ulardan, berilgan fazifaga qarab ixtiyoriysini tanlash lozim. - C++ da matnli fayllar bilan ishlashning bir necha yo’llari mavjud. Ulardan, berilgan fazifaga qarab ixtiyoriysini tanlash lozim.
- Matnli fayllarda ma’lumotlarni saqlash va ularni dasturlash tillari yordamida qayta ishlash - katta hajmdagi ma’lumotlardan samarali va tez foydalanish imkoniyatlarini yaratadi.
Do'stlaringiz bilan baham: |