6.56.Fayllar və axınlar
C++ dilində fayla baytlar ardıcıllığı şəklində baxılır
0 1 2 3 . . . n-1
Faylın sonu əlaməti (marker) ____________________________|
Hər bir faylı sonunu göstərən markerlə yekunlaşır. Fayl açılan zaman obyekt yaradılır və bu obyektlə axın əlaqələndirilir. Bu halda qoşulan zaman 4 obyekt-cin, cout, cerr və clog obyektləri yaradılır. Bu obyektlərlə əlaqəli olan axınlar proqramla ayrı-ayrı fayllar və qurğular arasında əlaqə yaradır. Məsələ, cin obyekti proqrama verilənləri klaviaturadan daxil etməyə imkan verir, cout obyekti proqrama verilənləri ekrana çıxarmağa imkan verir, cerr və clog obyektləri proqrama səhvlər haqqında məlumatın ekrana çıxarılmasına imkan verir.
C++ dilində fayllarla işləməyi təmin etmək üçün və başlıq fayllarından istifadə edilir. başlıq faylında basic_ifstream (faylda olan giriş üçün), basic_ofstream (faylla olan çıxış üçün) və basic_iostream(giriş/çıxış) axın siniflərin şablonları təyin edirlir.
Bu şablonlardan char tipli verilənlərin giriş/çıxışı üçün təyinetmələr vardır. Bundan əlavə bu xüsusi təyinetmələr üçün typedef təyin etmələri vardır. Məsələ, typedef ifstream, basic_ifstream şablonunu göstərir və bu onu bildirir ki, char tipli verilənləri fayldan oxumaq lazımdır. Oxşar olaraq, typedef ofstream onu bildirir ki, char tipli verilənləri fayla yazmaq lazımdır. typedef fstream, basic_fstream şablonunu bildirir və char tipli verilənin həm fayla yazmağın, həm də fayldan oxumağın mümkün olduğunu göstərir.
Bu axınların xüsusiləşmiş şablonlarının yaradılması ilə fayl açılır.
Bu şablonlar basic_istream, basic_ostream və basic_iostream şablonlarının törəmə (varis) şablonlarıdır. Ona görə də bu şablonlarla təyin olunan bütün üsullar, manipulyatorlar və operatorlar fayl axınlarından istifadə oluna bilər. Aşağıdaki şəkildə giriş/çıxış axınları siniflərindən varislik münasibətləri göstərilmişdir.
Giriş/çıxış axınları siniflərinin ierarxiyasının bir hissəsi.
Dostları ilə paylaş: |