C++ da matnli fayllar bilan ishlash


Download 31.62 Kb.
bet1/5
Sana04.10.2022
Hajmi31.62 Kb.
#830734
  1   2   3   4   5
Bog'liq
8-mavzu
Экспертиза ДТП, 1-maruza, 1-laboratoriya, 2-laboratoriya, қаторлар назарияси 2, Fizikaviy va kolloid kimyo-AMALIY, Kompyuterli loyihalashning texnik vositalari, 8 mavzu, 12-MAVZU, SLAYD TO'QIMACHILIK, 1-amaliy mashgulot. Kompleks o‘zgaruvchili funksiya va uning limiti, 1-amaliy mashgulot. Kompleks o‘zgaruvchili funksiya va uning limiti, 1-ЛЕКЦИЯ, диссертация на узбекском перевод (4), 12.To‘plam. Sonli ketma-ketlik. Funksiya. Prezentasiya

C++ da matnli fayllar bilan ishlash.
Fayllarning ikkita asosiy turi mavjud: matnli va ikkilik. Fayllar foydalanuvchiga katta hajmdagi ma'lumotlarni klaviaturadan yozmasdan to'g'ridan-to'g'ri diskdan o'qish imkonini beradi.
Matn har qanday belgilardan iborat fayllar chaqiriladi. Ular satrlarda tashkil etilgan bo'lib, ularning har biri qator oxiri belgisi bilan tugaydi. Faylning oxiri "fayl oxiri" belgisi bilan ko'rsatilgan. Har qanday matn muharriri yordamida ko'rish mumkin bo'lgan matn fayliga ma'lumot yozishda barcha ma'lumotlar belgilar turiga aylantiriladi va belgilar shaklida saqlanadi.

V ikkilik fayllar, ma'lumotlar ma'lum o'lchamdagi bloklar shaklida o'qiladi va yoziladi, ularda har qanday turdagi va tuzilishdagi ma'lumotlar saqlanishi mumkin.


Fayllar bilan ishlash uchun maxsus ma'lumotlar turlari chaqirdi oqimlar... Oqim ifstream o'qish rejimida fayllar bilan ishlash uchun xizmat qiladi va oqimdan tashqari yozib olish rejimida. Fayllar bilan yozish va o'qish rejimida ishlash uchun oqimdan foydalaning fstream.
C++ dasturlarida matnli fayllar bilan ishlashda siz iostream va fstream kutubxonalarini kiritishingiz kerak.
Uchun yozib qo'ying ma'lumotlarni matnli faylga kiritish uchun siz:
oqim turining o'zgaruvchisini tavsiflang.
ma'lumotni faylga chiqarish.
faylni yopganingizga ishonch hosil qiling.
Uchun o'qishlar matn faylidan olingan ma'lumotlar uchun siz:
ifstream tipidagi o'zgaruvchini tavsiflang.
faylni ochish funksiyasidan foydalanib oching.
faylni yoping.
Yozib olish matn faylidagi ma'lumotlar
Yuqorida aytib o'tilganidek, matnli fayl bilan ishlashni boshlash uchun siz ofstream tipidagi o'zgaruvchini e'lon qilishingiz kerak. Masalan, bu kabi:
Ma'lumotni faylga yozish uchun F o'zgaruvchisi yaratiladi.
Keyingi qadam faylni yozish uchun ochishdir. Umuman olganda, oqimni ochish operatori quyidagicha ko'rinadi:
F.ochiq ("fayl", rejim);
Bu erda F o'zgaruvchi bo'lib, oqim oqimi sifatida tavsiflanadi,
fayl - diskdagi faylning to'liq nomi,

rejim - ochilayotgan fayl bilan ishlash tartibi.


Esda tutingki, faylning toʻliq nomini koʻrsatayotganda qoʻsh chiziqdan foydalanish kerak. Masalan, D: diskidagi o'yin papkasida joylashgan noobs.txt faylining to'liq nomi quyidagicha yozilishi kerak:
D: \\ o'yin \\ noobs.txt.
Fayl quyidagi rejimlardan birida ochilishi mumkin:
ios :: in - faylni ma'lumotlarni o'qish rejimida ochish, bu rejim ifstream oqimlari uchun standart rejimdir;
ios :: out - faylni ma'lumotlarni yozish rejimida ochish (mavjud fayl haqidagi ma'lumotlar yo'q qilinadi), bu rejim oqimdan tashqari oqimlar uchun standart rejimdir;
ios :: ilovasi - faylni fayl oxirigacha ma'lumotlarni yozish rejimida ochish;
ios :: yedi - allaqachon ochiq faylning oxiriga o'tish;
ios :: trunc - faylni tozalash, xuddi shu narsa iOS :: chiqish rejimida sodir bo'ladi;
ios :: nocreate - fayl mavjud bo'lmasa, uni ochmang;
ios :: noreplace - mavjud faylni ochmang.
Tartib parametri yo'q bo'lishi mumkin, bu holda fayl ushbu oqim uchun standart rejimda ochiladi.
Fayl muvaffaqiyatli ochilgandan so'ng (har qanday rejimda) F o'zgaruvchisi rost, aks holda yolg'onni saqlaydi. Bu faylni ochish operatsiyasining to'g'riligini tekshiradi.
Faylni yozish rejimida quyidagi usullardan birida ochishingiz mumkin (misol sifatida D: \\ game \\ noobs.txt faylini oling):
// birinchi yo'l
oqimdan tashqari F;
F.open ("D: \\ game \\ noobs.txt", ios :: out);
// ikkinchi yo'l, iOS :: chiqish rejimi sukut bo'yicha
// uchun oqimoqimdan tashqari
oqimdan tashqari F;
// uchinchi yo'l o'zgaruvchining tavsifini va oqim turini birlashtiradi
// va faylni bitta bayonotda oching
ofstream F ("D: \\ o'yin \\ noobs.txt", iOS :: tashqariga);
Faylni yozish rejimida ochgandan so'ng, bo'sh fayl yaratiladi, unda ma'lumot yozish mumkin bo'ladi.
Agar siz mavjud faylni oldindan yozish rejimida ochmoqchi bo'lsangiz, rejim sifatida iOS :: ilova qiymatidan foydalaning.
Faylni yozish rejimida ochganingizdan so'ng, siz unga standart chiqish moslamasi o'rniga xuddi ekranga yozishingiz mumkin.coutochiq fayl nomini ko'rsatishingiz kerak.
Masalan, a o'zgaruvchisini F oqimiga yozish uchun chiqish operatori quyidagicha ko'rinadi:
b, c, d o'zgaruvchilarning G oqimiga ketma-ket chiqishi uchun chiqish operatori:
G<
Oqim operator yordamida yopiladi:
Misol:
D: \\ game \\ noobs.txt matn faylini yarating va unga n ta haqiqiy sonni yozing.
# "stdafx.h" ni o'z ichiga oladi
#o'z ichiga oladi
#o'z ichiga oladi
#o'z ichiga oladi
std nom maydonidan foydalanish;
int main ()
setlocale (LC_ALL, "RUS");
int i, n;
ikki barobar a;
// faylga ma'lumotlarni yozish uchun oqimni tavsiflaydi
oqimdan tashqari f;
// faylni yozish rejimida ochish,

//rejimiOS:: tashqarigasukut bo'yicha o'rnatilgan
f.open ("D: \\ o'yin \\ noobs.txt", iOS :: tashqariga);
// haqiqiy sonlar sonini kiriting
cout<<" n="; cin>> n;
// haqiqiy raqamlarni kiritish uchun sikl
// va ularni faylga yozing
uchun (i = 0; i <="" i="">
cout<<"a=";
// raqam kiriting
cin >> a;
f<
// oqimni yoping
f.yopish ();
tizim ("pauza");
qaytish 0;
_______________________________________________________________
Matn faylidan ma'lumotni o'qish uchun siz turdagi o'zgaruvchini e'lon qilishingiz kerak ifstream... Shundan so'ng, operator yordamida o'qish uchun faylni ochishingiz kerak ochiq... Agar o'zgaruvchi F deb nomlangan bo'lsa, unda birinchi ikkita operator quyidagicha bo'ladi:
F.open ("D: \\ game \\ noobs.txt", iOS :: ichida);
Faylni o'qish rejimida ochganingizdan so'ng, siz undan ma'lumotni klaviaturadagi kabi o'qishingiz mumkin, faqat o'rnigacinma'lumotlar o'qiladigan oqim nomini belgilang.
Masalan, F oqimidan a o‘zgaruvchisiga o‘qish uchun kirish bayonoti quyidagicha ko‘rinadi:
Matn muharririda ikkita raqam, agar ular orasida kamida bitta belgi bo'lsa, ajratilgan hisoblanadi: bo'sh joy, jadval, satr oxiri belgisi. Agar dasturchi matn faylida qancha va qanday qiymatlar saqlanganligini oldindan bilsa yaxshi bo'ladi. Biroq, faylda saqlanadigan qiymatlarning turi ko'pincha oddiygina ma'lum va ularning soni har xil bo'lishi mumkin. Ushbu muammoni hal qilishda siz fayldagi qiymatlarni birma-bir o'qib chiqishingiz kerak va har bir o'qishdan oldin faylning oxiriga yetib kelganligini tekshiring. Buning uchun funksiya mavjud F. eof().
Bu yerda F - oqimning nomi.Funksiya mantiqiy qiymatni qaytaradi: faylning oxiriga yetganligiga qarab true yoki false. Shunday qilib, butun faylning mazmunini o'qish uchun tsikl quyidagicha yozilishi mumkin:
// fayldan qiymatlarni o'qishni tartibga solish, bajarish
// fayl oxiriga yetganimizda sikl uzilib qoladi,
// bu holda F.eof () haqiqatni qaytaradi
esa (! F.eof ())
Misol:
Haqiqiy raqamlar D: \\ game \\ noobs.txt matn faylida saqlanadi, ularni ekranda ko'rsating va ularning sonini hisoblang.
# "stdafx.h" ni o'z ichiga oladi
#o'z ichiga oladi
#o'z ichiga oladi
#o'z ichiga oladi
#o'z ichiga oladi
std nom maydonidan foydalanish;
int main ()
setlocale (LC_ALL, "RUS");
int n = 0;
float a;
fstream F;
// faylni o'qish rejimida oching
F.open ("D: \\ o'yin \\ noobs.txt");
// agar fayl to'g'ri ochilgan bo'lsa, unda
// fayldan qiymatlarni o'qish uchun tsikl; tsiklning bajarilishi to'xtatiladi,
// faylning oxiriga yetganimizda, bu holda F.eof () rost qaytaradi.
esa (! F.eof ())
// F oqimidan a o'zgaruvchiga keyingi qiymatni o'qing
F >> a;
// a o'zgaruvchining qiymatini ekranga chiqarish
cout<
// o'qilgan raqamlar sonini ko'paytirish


// oqimni yoping
F.yopish ();
// ekranga o'qilgan raqamlar sonini kiriting
cout<<"n="<
// agar fayl noto'g'ri ochilgan bo'lsa, u holda chiqdi
// bunday fayl yo'qligi haqidagi xabarlar
boshqa cout<<" Файл не существует"<<="" i="">
tizim ("pauza");
qaytish 0;

Download 31.62 Kb.

Do'stlaringiz bilan baham:
  1   2   3   4   5




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