12.12. Program Operasi FiIe
Dari uraian operasi file diatas, dibawah ini merupakan beberapa operasi file yang sering dilakukan sehari-hari. Setiap kita bekerja dengan menggunakan komputer kita biasanya melakukan operasi membuka file, menulis file, menambah data file, menghapus file, menutip file dan lain sebagainya. Operasi tersebut dilakukan dengan menggunakan mouse atau keyboard secara langsung Bagaimana jika hal tersebut dilakukan leh program?. Tentunya hal tersebut harus ada instruksi atau perintah-perintah yang digunakan oleh tiap operasi tersebut. Dibawah ini merupakan beberapa operasi file yang dilakukan dengan bahasa C++.
12.12. 1. Membuka file
Perintah membuka file dan menghubungkannya dengan stream dengan fopen (library stdio.h) dan menutupnya dengan fclose FILE*fopen(char*nama_file,char *mode) FILE*fclose(FILE*pointer_file) Dalam membuka file diperlukan mode, dimana hal tersebut merupakan cara pengaksesan file. Berikut daftar mode yang dapat digunakan:
Tabel 12.9. Mode operasi file pada C MODEARTI rMembukasebuahfileteksuntukpembacaan wMembuatsebuahfileteksuntukpenulisan aMenambahkandatakesebuahfileteks rbMembukasebuahfilebinaryuntukpembacaan wbMembuatsebuahfilebinaryuntukpenulisan abMenambahkandatakesebuahfilebinary r+Membukasebuahfileteksuntukpembacaan/penulisan w+Membuatsebuahfileteksuntukpembacaan/penulisan a+Menambahkandata/membuatfileteksuntuk pembacaan/penulisan r+bataurb+Membukasebuahfilebinaryuntukpembacaan/penulisan w+batauwb+Membuatsebuahfilebinaryuntukpembacaan/penulisan a+batauab+Menambahkandatakefilebinaryuntuk pembacaan/penulisan
Dalam operasi file dilakukan ada beberapa hal yang perlu diperhatikan antara lain: jika operasi open berhasil, fopen() mengembalikan sebuah file pointer yang valid, sedangkan jika operasi gagal, maka fopen() mengembalikan sebuah null pointer, sehingga harus selalu dicek pada saat pembukaan file. Perhatikan program dibawah ini: FILE*fp; if((fp=fopen("fileku.txt","r")==NULL){ cout<<"Errordalampembukaan file\n"; exit(1); } fclose(fp);//menutup streamfile Dibawah ini merupakan fungsi untuk operasi file teks antara lain a. fgetc()danfputc(),dimanaSintaknyadapatditulis: intfgetc(FILE*fp); intfputc(intch,FILE*fp);
Program 12.7
include<stdio.h> #include<stdlib.h> usingnamespacestd; intmain() { FILE*fp; inti; intch; fp=fopen("foo.abc","w");//bukafilefoo.abcuntukditulisi for(i=0;i<10;i++){//loopuntukmeletakkankarakter2 fputc('A',fp);//menuliskankarakterA fputc('\n',fp);//menuliskanpergantianbaris } fclose(fp); if((fp=fopen("foo.abc","r"))==NULL){ cout<<"Errorreadingfile...\n"; exit(1); } while(ch!=EOF){//bacafilesampaitandaEOF(EndofFile) ch=fgetc(fp);//ambilsatukarakter putchar(ch);//menampilkankarakterkelayar } fclose(fp);
Next read halaman 16.