6.58.Ardıcıl faylların yaradılması Tutaq ki, müəssisədə çalışan əməkdaşların sıra nömrəsi, adı və əmək haqları haqqında olan informasiyanı fayla yazmaq lazımdır. Faylın adını “infor”, sıra nömrəsi n, adını name, əmək haqqını maash-işarə edək. Axının adı outfile-olsun. Faylın açılmasında ofstream sinfindən istifadə olunur.
Proqram aşağıdaki kimi olar:
#include #include using namespace std; #include//ədədləri mətnə və tərsinə çevirən
//funksiyalar
int main( )
{ofstream outfile(“infor”, ios::out); //ios::out rejimini yazmamaq da olar. if(!outfile) {cout<<”faylı açmaq mümkün deyildir”< } return 1; } cout<<”sıra nömrəsini, adını və əmək haqqını daxil edin\n”; cout<<”faylın sonu EOF-əlamətini (ctrl+z) daxil edin\n”; int n; char name[20]; double maash; while(cin>>n>>name>>maash ) {outfile< cout<<”?”; } return 0; }
Nəticə:
sıra nömrəsini, adını və əmək haqqını daxil edin
faylın sonu EOF-əlamətini(ctrl+z) daxil edin
? 10 Arif 200
? 20 Yusif 250
? 30 Adil 300
? 40 Ramiz 320
? ^ z
Hər bir əməkdaş üçün proqrama onun nömrəsi, adı və əmək haqqı ötürülür. Hər bir əməkdaş haqqında olan bu verilənlər yazını əmələ gətirir. Bu proqramda fayl çıxış üçün açılmalıdır. Ona görə də ofstream obyekti yaradılır. Obyektin konstruktoruna iki arqument-faylın adı və faylın açılması rejimi ötürülür. ofstream obyekti üçün faylın açılması rejimi ios::out(verilənlərin fayla çıxışı üçün) və ya ios::app(faylın sonuna verilənləri əlavə etmək üçün) istifadə oluna bilər. ios::out rejimində fayl açılan zaman bütün verilənlər fayldan silinir. ofstream sinfinin outfile obyekti infor faylı ilə əlaqələnir. “infor” və ios::out arqumentləri ofstream sinfinin konstruktoruna ötürülür və faylla “əlaqəli xətti” yaradılır. Ofstream sinfinin obyektləri susma prinsipinə görə açıldığına görə ios::out arqumentini yazmamaq olar:
ofstream outfile(“infor”);
Mövcud faylı çıxış üçün ios::out rejimi ilə açan zaman onun məzmununu saxlamaq lazımdır. Əks halda onun məzmunu itə bilər.
While(cin>>n>>name>>maash)-operatorundaki şərt faylın sonu əlaməti daxil edildikdə yalan qiymət alır. Bu operator hər dəfə verilənlər daxil edildikdən sonra faylın sonu əlamətinin daxil olunmasını yoxlayır. Faylın sonu əlamətinə çatdırdıqda və ya düzgün olmayan verilən daxil edildikdə cin-də >>-operator 0(sıfır) qaytarır və while operatoru öz işini qurtarır. Proqramçı verilənlərin daxil olmasını yekunlaşdırmaq üçün faylın sonu əlamətini daxil etməlidir. Faylın sonu əlaməti ctrl+z(Vax(UMS), windows əməliyyat sistemləri üçün) və ya ctrl+d(unix, Macintosh əməliyyat sistemləri üçün) düymələrinin birgə sıxılması ilə daxil edilir.
outfile< operatoru verilənləri “infor” faylına yazır. Bu fayl mətn faylıdır və istənilən mətn redaktoru vasitəsi ilə oxuna bilər. Faylın sonu əlaməti daxil edildikdən sonra main funksiyası öz işini yekunlaşdırır. Bu halda outfile obyektinin destruktoru tərəfindən bu obyekt ləğv edilir və “infor” faylı bağlanır. Ofstream obyekti proqramçı tərəfindən aşıkar olaraq da bağlana bilər:
outfile.close( ); Əgər fayl proqramın sonraki hissələrində lazım deyilsə onun aşıkar şəkildə bağlanması məsləhətdir. Bu halda kompüterin resurslarından az istifadə olunar.