Kitob uchta qismdan iborat. "Strukturali dasturlash", "Obyektli-yo’nalishli dasturlash", "Standart kutubxonalar"



Download 333,2 Kb.
bet47/90
Sana10.07.2022
Hajmi333,2 Kb.
#770437
1   ...   43   44   45   46   47   48   49   50   ...   90
Bog'liq
C majmua

Kiritish/chiqarish funksiyalari

Kiritish/chiqarish C++ da yo C kutubxonadan meros bo'lgan funksiyalar yordamida yoki C++ oqimlari yordamida amalga oshiriladi. Bu ikki usulni bitta dasturda aralashtirishni faqat sync_with_stdio() funksiya yordamida kiritishni sinxronlab bajarish mumkin. Har bir usul afzalliklarga ega. Oqimlardan foydalanish usulining afzalligi ular formatlashni talab etmaydigan kiritish/chiqarish oddiy hollarida foydalanish oson, asosiysi oqim amallarni xos sinflar uchun oldindan aniqlash mumkin. C uslubida kiritish/chiqarish obyektini yo'naltirilgan texnikadan foydalanilmaydigan dasturlarda formatlashga chaqirishda foydalanish qulay. Bundan tashqari, C da yozilgan va C++ ga o'tkazilgan millionlab satr mavjud, ular bilan dasturchi to'qnashishiga to'g'ri keladi.


C uslubda kiritish/ciqarish funksiyalaridan foydalanish uchun dasturga yoki sarlavhali faylni kiritish zarur. Kiritish/chiqarishda ma'lumotlar baytlar oqimi kabi qaraladi. Jismonan oqim fayl yoki asbobdan iborat (masalan, faylning xususiy xoli sifatida qaraladigan klaviatura yoki displey).


Oqimni ochish

Oqim bilan ishlash uni ochishdan boshlanadi. Oqimni o'qish uchun va/yoki yozuvda ikkilik yoki matn rejimlarda ochish mumkin. Oqimni ochish funksiyasi formati:


FILE* fopen(const char* filename. const char* mode);


Oqimning muvaffaqiyatli ochishda ishlash uchun butun zarur butun axborotni saqlovchi FILE tipidagi oldindan aniqlangan strukturaga ko'rsatgichni qaytaradi yoki aks holda NULL ni. Birinchi parametr – C-satr ko'rinishdagi ochiluvchi fayl nomi, ikkinchisi – faylni ochish rejimi.


“r” – fayl o'qish uchun ochiladi;


“w” – yozish uchun bo'sh fayl ochiladi (agar fayl mavjud bo'lsa, o'chiriladi);
“a” – fayl uning oxiriga axborotni qo'shish uchun ochiladi;
“r+” – fayl o'qish va yozish uchun ochiladi (fayl mavjud bo'lishi lozim);
“w+” – o'qish va yozish uchun bo'sh fayl ochiladi (agar fayl mavjud bo'lsa, o'chiriladi);
“a+” – fayl ma'lumotni uning oxiriga qo'shish uchun va o'qish uchun ochiladi.

Ochish rejimiga o'tish simvollarni yangi satrga o'tishga qaytish ishlash bilan t (matn rejim) yoki b (ikkilik rejim) simvollarini o'z ichiga oladi. Jimlik bo'yicha fayl matn rejimida ochiladi, bunda “katerkani qaytarish” va “satrni ko'chirish” (0x13 0x10) simvollar kombinatsiyasi kiritishda satr ko'chirishidagi birlamchi simvoliga almashtiriladi (chiqarishda teskari almashtirish bajariladi). Ikkilik rejimida bu almashtirishlar bajarilmaydi.


Misol:

FILE *f = fopen("d: \\ cpp\\data", "rb+");


f ko'rsatgich oqim bilan keyingi amallarda foydalaniladi. Uni kiritish/chiqarish funksiyalariga parametr sifatida uzatiladi.


U bilan oqimni ochishda bufer deb ataluvchi xotira sohasi bog'lanadi. Chiqarishda barcha axborot buferga yuboriladi va u yerda bufer to'lguncha yoki oqim yopilguncha to'planadi. Buferlashtirish tashqi qurilmalar bilan tezroq va samaraliroq axborot almashishga imkon beradi. Dasturning favqulotda yakunlanishida chiquvchi bufer yuklangan bo'lmasligi mumkin va ma'lumotlar yo'qolishi mumkin. setbuf va setvbuf funksiyalar yordamida buferning o'lchovlari va mavjudligini boshqarish mumkin.
Dastur boshida ochiladigan beshta oldindan ma'lum oqimlar mavjud: stdin standart kiritish, stdout standart chiqarish, stderr xatolar haqida xabarlarni standart chiqarish, stdaux standart qo'shimcha oqim va stdprn standart chop qilish. Birinchi uchta oqim jimlik bo'yicha konsolaga taalluqli. Bu ko'rsatgichlarni oqim ko'rsatkichi talab etiladigan ixtiyoriy kiritish/chiqarish funksiyasida foydalanish mumkin.



Download 333,2 Kb.

Do'stlaringiz bilan baham:
1   ...   43   44   45   46   47   48   49   50   ...   90




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

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish