Minggu, 04 Januari 2009

File & Stream

File & Stream

Kegunaan File :
Untuk melakukan proses file I/O, diperlukan file header fstream.h didalam program. Didalam file ini didefinisikan beberapa class/object yang berhubungan dengan pemrosesan file, misalkan class ifstream, ofstream, fstream, object tersebut diturunkan dari class istream dan ostream.
( File fstream.h secara otomatis akan mengincludekan file iostream.h)

Membuat Stream dan keterhubungan stream dengan file :

Jika mendeklarasikan suatu stream, kita dapat menghubungkan stream tersebut dengan file, proses ini berhubungan dengan operasi terhadap file. Operasi yang dapat dilakukan terhadap file yaitu input, output dan I/O ( Input / Output).
Tiga buah proses utama di dalam mengelola file adalah :
1. Membuka File
2. Melakukan proses terhadap file
3. Menutup file.



Sebelum membuka file kita harus mengetahui lebih dahulu dalam keadaan mode apa file yang akan kita buka :

1. Untuk membuka file dengan tujuan output kita harus mendeklarasikan stream pada class ofstream
2. Untuk membuka file dengan tujuan input kita harus mendeklarasikan stream pada class ifstream
3. Sedangkan jika kita ingin membuka file tersebut dalam keadaan input maupun output anda harus mendeklarasikan stream pada class fstream.

Contoh :
ifstream fin;
/* membuka file dengan nama stream fin sebagai input */
ofstream fout;
/* membuka file dengan nama stream fout sebagai output */
fstream fio;
/* membuka file dengan nama stream fio sebagai I/O */

Fungsi open () digunakan untuk membuka file.
Bentuk umum fungsi ini adalah :

void open(char*file_name,int mode, int access);

Dengan menggunakan fungsi open () anda menghubungkan stream tersebut dengan file yang bernama file_Name, nilai dari variabel mode akan menentukan bagaimana keadaan file jika dibuka.
Nilai variabel mode yaitu :

ios::app
ios::ate
ios::in
ios::nocreate
ios::noreplace
ios::out
ios::trunc

Penjelasan dan fungsi dari masing-masing mode tersebut adalah :
~ ios::app = semua informasi yang ditulis ke dalam file (output) akan ditambahkan di bagian akhir file tersebut.
~ ios::ate = file akan dibuka dengan pointer file menunjuk pada akhir file
~ ios::in = file akan dibuka sebagai input
~ ios::out = file akan dibuka sebagai output
~ ios::nocreate = akan mengakibatkan kesalahan jika file tidak ada
~ ios::noreplace = file yang dibuka tidak dapat diganti, atau mengakibatkan kesalahan jika file yang akan dibuka sudah ada.
~ ios::trunc = menyebabkan isi dari file yang sudah ada akan hilang

Untuk menutup file yang telah dibuka dapat digunakan fungsi :
close ()

Bentuk Umum fungsi ini adalah :
void close ();
contoh penggunaan fungsi close() adalah :
fout.close();
fin.close();
fio.close();
Didalam class ios terdapat pendefinisian fungsi :
int eof();
Fungsi eof () digunakan untuk menentukan apakah pointer pada file telah mencapai akhir dari file tersebut.

Penelusuran kesalahan dengan perintah - perintah dalam file :

Didalam class ios didefinisikan empat buah fungsi untuk melakukan tes terhadap error yang terjadi di dalam stream.
Fungsi tersebut adalah :
int good ();
int eof();
int bad();
int fail();

Keempat fungsi tersebut akan menghasilkan nilai NOL jika kondisi tersebut salah dan nilai bukan NOL jika kondisi tersebut benar.

Bentuk Umum fungsi ini adalah :
void close ();
contoh penggunaan fungsi close() adalah :
fout.close();
fin.close();
fio.close();
Didalam class ios terdapat pendefinisian fungsi :
int eof();
Fungsi eof () digunakan untuk menentukan apakah pointer pada file telah mencapai akhir dari file tersebut.

Penelusuran kesalahan dengan perintah - perintah dalam file :

Didalam class ios didefinisikan empat buah fungsi untuk melakukan tes terhadap error yang terjadi di dalam stream.
Fungsi tersebut adalah :
int good ();
int eof();
int bad();
int fail();

Keempat fungsi tersebut akan menghasilkan nilai NOL jika kondisi tersebut salah dan nilai bukan NOL jika kondisi tersebut benar.

2 komentar:

Pengetahuan Untuk Semua mengatakan...

blognya cukup menarik, materinya bagussss!!!

amelimel mengatakan...

topik menarik, hely baget namanya mirip sama yang punya..
hehehe..
^.^