C fayllarni o‘qish


ULASHISH

Faylni o‘qish

Oldingi bobda fopen() funksiyasi ichida w va a rejimlaridan foydalanib faylga yozdik.

Fayldan o‘qish uchun r rejimidan foydalanishingiz mumkin:

Misol

FILE *fptr; // Open a file in read mode fptr = fopen("filename.txt", "r");

Bu filename.txt faylini o‘qish uchun ochadi.

C tilida faylni o‘qish biroz mehnat talab qiladi. Sabr qiling! Sizni qadam-baqadam yo‘naltirib boramiz.

Keyin fayl mazmunini saqlash uchun yetarlicha katta bo‘lgan string yaratishimiz kerak.

Masalan, 100 tagacha belgini saqlay oladigan string yarataylik:

Misol

FILE *fptr; // Open a file in read mode fptr = fopen("filename.txt", "r"); // Store the content of the file char myString[100];

filename.txt faylining mazmunini o‘qish uchun fgets() funksiyasidan foydalanishimiz mumkin.

fgets() funksiyasi uchta parametr qabul qiladi:

Misol

fgets(myString, 100, fptr);
  1. Birinchi parametr fayl mazmuni qayerda saqlanishini belgilaydi — bu hozirgina yaratgan myString massivimiz bo‘ladi.
  2. Ikkinchi parametr o‘qiladigan ma’lumotning maksimal hajmini belgilaydi va u myString o‘lchamiga (100) mos kelishi kerak.
  3. Uchinchi parametr faylni o‘qish uchun ishlatiladigan fayl ko‘rsatkichini talab qiladi (bizning misolimizda fptr).

Endi stringni chiqarishimiz mumkin — u fayl mazmunini chiqaradi:

Misol

FILE *fptr; // Open a file in read mode fptr = fopen("filename.txt", "r"); // Store the content of the file char myString[100]; // Read the content and store it inside myString fgets(myString, 100, fptr); // Print the file content printf("%s", myString); // Close the file fclose(fptr);

Hello World!

Misolni ishga tushirish »

Eslatma: fgets funksiyasi faylning faqat birinchi qatorini o‘qiydi. Esingizda bo‘lsa, filename.txt faylida ikki qator matn bor edi.

Faylning har bir qatorini o‘qish uchun while siklidan foydalanishingiz mumkin:

Misol

FILE *fptr; // Open a file in read mode fptr = fopen("filename.txt", "r"); // Store the content of the file char myString[100]; // Read the content and print it while(fgets(myString, 100, fptr)) {   printf("%s", myString); } // Close the file fclose(fptr);

Hello World!
Hi everybody!

Misolni ishga tushirish »


Yaxshi amaliyot

Agar mavjud bo‘lmagan faylni o‘qish uchun ochmoqchi bo‘lsangiz, fopen() funksiyasi NULL qaytaradi.

Maslahat: Yaxshi amaliyot sifatida NULL qiymatini tekshirish uchun if operatoridan foydalanib, (fayl mavjud bo‘lmaganda) uning o‘rniga biror matn chiqarishimiz mumkin:

Misol

FILE *fptr; // Open a file in read mode fptr = fopen("loremipsum.txt", "r"); // Print some text if the file does not exist if(fptr == NULL) {   printf("Not able to open the file."); } // Close the file fclose(fptr);

Agar fayl mavjud bo‘lmasa, quyidagi matn chiqariladi:

Not able to open the file.

Misolni ishga tushirish »

Buni hisobga olib, yuqoridagi "faylni o‘qish" misolimizdan yana foydalansak, yanada barqaror kod yaratishimiz mumkin:

Misol

Agar fayl mavjud bo‘lsa, uning mazmunini o‘qing va chiqaring. Agar fayl mavjud bo‘lmasa, xabar chiqaring:

FILE *fptr; // Open a file in read mode fptr = fopen("filename.txt", "r"); // Store the content of the file char myString[100]; // If the file exist if(fptr != NULL) {   // Read the content and print it   while(fgets(myString, 100, fptr)) {     printf("%s", myString);   } // If the file does not exist } else {   printf("Not able to open the file."); } // Close the file fclose(fptr);

Hello World!
Hi everybody!

Misolni ishga tushirish »

Eslatma: NULL haqida NULL bobida batafsil bilib olasiz.




W3Schools Pathfinder

Yutuqlaringizni kuzating – bu bepul!