Compfest 9 - {Preliminary} Write Up
Posting tentang programming C pertama, dimana saya akan membahas mengenai File Input/Output di C dengan menggunakan berbagai macam fungsi yang berhubungan dengan File I/O di C yang sudah tersedia di pustaka “stdio.h”.
Tipe Files
Terdapat dua tipe files yang harus diketahui, yaitu Text File dan Binary File.
- Text File - Adalah text file biasa yang berformat .txt dan dapat dibaca (readable) oleh manusia.
- Binary File - Adalah data nya disimpan dalam bentuk biner (0 dan 1) dan tidak dapat dibaca (not readable) oleh manusia.
Operasi File Yang Biasa Dilakukan
Didalam bahasa C, kita dapat melakukan ke-4 operasi dibawah ini, baik untuk binary file dan text file.
- Membuat file baru
- Membuka file yang telah ada
- Menutup file
- Membaca dan menulis informasi ke sebuah file
Bekerja Dengan Files
Untuk memulai bekerja dengan file, kita harus mendeklarasi pointer dari tipe FILE. Ini dibutuhkan untuk komunikasi antara program dan file.
Bentuk umum deklarasi pointer dari tipe FILE
FILE *fp;
Membuka File
Untuk membuka file, kita dapat menggunakan fungsi fopen().
Syntax Umum
FILE *fopen(const char *path, const char *mode);
*const char path = Diisi dengan path atau lokasi dari file yang akan dioperasikan.
*const char mode = Diisi dengan salah satu mode dibawah ini
Return Value
- SuccessPointer ke FILE object
- FailReturn NULL
Contoh penggunaan
FILE *fp = fopen("Belajar_io.txt","r");
if(fp == NULL){
// your code
}else{
// your code
}
Menutup File
Baik itu saat mengoperasikan text file/binary file haruslah di tutup apabila selesai dibaca ataupun ditulis. Untuk menutupnya, dapat menggunakan fungsi fclose().
Syntax Umum
int fclose(FILE *stream);
*FILE stream - Diisi dengan pointer dari tipe FILE yang telah didelarasi sebelum nya.
Contoh penggunanaan
FILE *fp = fopen("Belajar_io.txt","r");
....
....
fclose(fp);
Return Value
- SuccessReturn 0
- FailReturn EOF
Membaca Sebuah File
Terdapat banyak fungsi yang dapat digunakan untuk membaca sebuah file di C, diantara nya akan dibahasa adalah fgetc(), fgets(), fread()