Ma’ruza-11: Fayllar bilan ishlash Reja


Fayl ko'rsatkichi bilan ishlovchi funksiyalar


Download 48.57 Kb.
bet4/4
Sana18.06.2023
Hajmi48.57 Kb.
#1574014
1   2   3   4
Bog'liq
Ma\'ruza-11 (1)

Fayl ko'rsatkichi bilan ishlovchi funksiyalar
Fayldan ma'lumot o'qiganda yoki yozganda fayl ko'rsatkichi avtomat ravishda o'qilgan yoki yozilgan bayt miqdoricha siljiydi. Fayl ko'rsatkichining kelgan joyini aniqlash uchun ftell funksiyasi ishlariladi.
long int ftell ( FILE * stream );
Fayl ko'rsatkichini siljit ish uchun fseek funksiyasi ishlatiladi.
int fseek ( FILE * stream, long int offset, int whence);
Bu funksiya offset da ko'ratilgan bayt miqdoricha siljishni amalga oshiradi. whence o'zgaruvchisi quyidagi qiymatlarni qabul qilishi mumkin:
O'zgarmas whence Izoh
SEEK_SET 0 Fayl boshiga nisbatan siljitish fayl ko'rsatkichining joriy SEEK_CUR 1 xolatiga nisbatan siljitish SEEK_END 2 Fayl oxiriga nisbatan siljit ish Agar whence = 1 bo'lsa (SEEK_CUR), offset musbat (o'ngga siljish) yoki manfiy (chapga siljish) bo'lishi mumkin. Fayl ko'rsatkichini faylning boshiga o'rnatish uchun rewind funksiyasi ishlatiladi.
void rewind ( FILE * stream );
Bu amalni fayl ko'rsatkichini siljit ish orqali ham amalga oshirish mumkin.
fseek (f, 0, SEEK_SET);
Agar faylda faqat butun sonlar yozilgan bo'lsa, uning k - elementiga murojaat quyidagicha bo'ladi.
fseek (f, sizeof(int) * (k - 1), SEEK_SET);
fread (&n, sizeof(int), 1, f);

Fayl oxirini aniqlash uchun feof funksiyasi ishlatiladi.
int feof ( FILE * stream );
feof funksiyasi fayl ko'rsatkichi fayl oxirida bo'lsa, noldan farqli qiymat qaytaradi.
Boshqa hollarda nol qaytaradi.
Faylni o'qing
Fayldan o'qish uchun, ifstreamyoki fstream ob'ektdan va fayl nomidan foydalaning. E'tibor bering, biz funktsiyani ( ob'ektga tegishli ) funktsiya
whilebilan bir qatorda fayl satrini o'qish va fayl tarkibini chop etish uchun ishlatamiz.

#include


#include
#include
using namespace std;

int main () {
// Faylni yaratish
ofstream Mening_faylim("filename.txt");

// Faylga yozish
Mening_faylim << "Barchaga salom! Ushbu faylga ma’lumot yozish mumkin!";
// Faylni yopish
Mening_faylim.close();

// String tipiga tegishli o'zgaruvchi yaratish
string myText;

// Text faylni o'qish
ifstream MyReadFile("filename.txt");

// getline() funksiyasidan foydalanib faylni o'qish
while (getline (MyReadFile, myText)) {
// O'qilgan faylni qora ekranga chiqarish
cout << myText;
}

// Faylni yopish
MyReadFile.close();
}

Download 48.57 Kb.

Do'stlaringiz bilan baham:
1   2   3   4




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling