Operasi File Pada Bahasa C Beserta Contohnya
File menurut wikipedia yaitu identitas dari data yang disimpan di
dalam berkas sistem yang dapat diakses dan diatur oleh pengguna.
Penggunaan dan pengoperasian file pasti selalu dibutuhkan terutama bagi
seorang programmer untuk mengolah sebuah data pada file.
Terdapat 3 mode utama pada file yaitu r (read), w (write), dan a (append). Operasi utama pada file diantaranya membaca, menutup, menghapus, dan mengubah (truncate).
Terdapat 3 mode utama pada file yaitu r (read), w (write), dan a (append). Operasi utama pada file diantaranya membaca, menutup, menghapus, dan mengubah (truncate).
Berikut struktur dan cara mendeklarasikan file :
FILE *fp; //nama variabel file fp fp = fopen("data.txt", w); //membuka file fp mode w statement; fclose(fp); //menutup file |
Mode pada file :
Mode
|
Fungsi
|
r
|
Membaca file ( file harus sudah ada )
|
w
|
Menulis file ( file yang sudah ada akan dihapus )
|
a
|
Membuka file yang sudah ada dan pada prosesnya dilakukan penambahan
saat menulis ( jika file belum ada, otomatis akan dibuat )
|
r+
|
Membaca file, tetapi juga memiliki fungsi lain yaitu dapat menulis
|
w+
|
Menulis file tetapi juga dapat membaca (file yang sudah ada akan dihapus)
|
class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0cm; mso-yfti-cnfc: 4; text-align: center;"> a+
Membuka file yang sudah ada dan prosesnya dilakukan penambahan saat menulis dan dapat membaca file
Membuat file :
Untuk membuat sebuah file yang kita perlukan hanyalah menggunakan fungsi FILE yang dilanjutkan pointer nama variabel file tersebut, FILE *nama variabel;. contohnya yaitu :
FILE *fp;
Membuka file :
Untuk membuka sebuah file dibutuhkan sebuah fungsi fopen, directory serta nama file dan mode file, nama variabel file = fopen("nama file", "mode file");. Contohnya :
fp = fopen("data.txt", "r");
Menulis data ke file :
Terdapat banyak fungsi untuk menulis sebuah file diantaranya ada fungsi fputs ada fprintf. Untuk menggunakan fputs deklarasinya yaitu fputs(namavaariabel,namafile);. Sedangkan untuk menggunakan fprintf deklarasinya yaitu fprintf(namafile, "kontanta char", nama variabel);.
Contohnya :
fputs(data,fp);
fprintf(fp, "%s", data);
Contoh program :
#include <stdio.h> int main() { char data[50]; int i=0; FILE *fp; fp=fopen("data.txt", "w"); for(i=0; i<5; i++) { printf("Masukkan data ke-%d : ", i+1); fflush(stdin); gets(data); fprintf(fp, "%s\n", data); } fclose(fp); printf("\n\nData berhasil ditulis"); return 0; } |
Membaca data dari file :
Jika kita bisa menulis tentu saja kita juga perlu membaca, sama halnya
menulis ada beberapa fungsi untuk membaca diantaranya adalah fgets yang hanya bisa membaca string dan fscanf bisa membaca string maupun bilangan. Untuk mendeklarasikan fgets yaitu fgets(namavariabel, jumlahstring, namafile);, sedangkan untuk fscanf yaitu fscanf(namafile, "konstanta char", &nama variabel);.
Contohnya :
fgets(data, 50, fp);
fscanf(fp, "%s", &data);
Contoh Programnya :
Contoh Programnya :
#include <stdio.h> int main() { char data[50]; int i=1; FILE *fp; fp=fopen("data.txt", "r"); while(fgets(data,50,fp)!=NULL) //membaca dan mengulang sampai data habis { printf("Data ke-%d : %s", i, data); i++; } fclose(fp); printf("\n\nData berhasil dibaca"); return 0; } |
Menutup file :
Untuk menutup file kita hanya perlu fungsi fclose(namavariabel), contohnya :
fclose(fp);
Input dan Output File:
Bahasa C menyediakan akses pada fungsi tingkat tinggi serta tingkat rendah untuk menangani file di perangkat penyimpanan kita. Seorang programmer bahasa C harus bisa membuka, menutup, menulis serta membaca sebuah file text atau biner untuk media penyimpanan. Nah, pada pembahasan kali ini kita akan belajar cara memanajemen file pada bahasa pemrograman C.
A. Membuka dan Menutup File
1. Membuka File
Untuk membuka file yang sudah ada kita dapat menggunakan fungsi fopen(). Fungsi ini akan menginisialisasi objek dari tipe FILE yang berisi semua informasi yang diperlukan untuk mengontrol berkas / file.
Format Penulisan (pendeklarasian variabel):
Format Penulisan (pendeklarasian variabel):
FILE *nama_variabel;
Format Penulisan (membuka file):
fopen("lokasi_file/nama_file", "jenis_operasi_file");
Jenis Operasi File:
Jenis Operasi | Deskripsi |
---|---|
r | Hanya membaca file text. |
w | Membuat file text baru. Jika file sudah ada, maka isi file tersebut akan dikosongkan. |
a | Menambahkan teks pada file text. Jika file tidak ada, maka file yang baru akan dibuat. |
r+ | Membaca dan menulis teks pada file text. |
w+ | Membaca dan menulis teks pada file text. Jika file sudah ada, maka file tersebut akan di replace. Sedangkan jika file tidak ada, maka file baru akan dibuat. |
a+ | Membaca dan menambahkan teks pada file text. Jika file tidak ada, maka file baru akan dibuat. |
rb | Hanya membaca file biner. |
wb | Membuat file biner baru. Jika file sudah ada, maka isi file tersebut akan dikosongkan. |
ab | Menambahkan teks pada file biner. Jika file tidak ada, maka file yang baru akan dibuat. |
rb+ atau r+b | Membaca dan menulis teks pada file biner. |
wb+ atau w+b | Membaca dan menulis teks pada file biner. Jika file sudah ada, maka file tersebut akan di replace. Sedangkan jika file tidak ada, maka file baru akan dibuat. |
ab+ atau a+b | Membaca dan menambahkan teks pada file biner. Jika file tidak ada, maka file baru akan dibuat. |
2. Menutup File
Untuk menutup file kita dapat menggunakan fungsi fclose(). Fungsi ini digunakan untuk menutup file apabila file sudah tidak diproses lagi. Karena adanya keterbatasan jumlah file yang dapat dibuka secara serentak, maka file harus ditutup.Format Penulisan:
fclose(nama_variabel_file);
Contoh Penulisan :
#include <stdio.h>
main() {
FILE *file;
file = fopen("file.txt", "r");
if(file == NULL){
printf("File tidak ditemukan!");
}else{
printf("File tersedia!");
}
fclose(file);
getch();
}
Output :
Gambar 1. Membuka dan menutup file dengan fungsi fopen() dan fclose()
B. Menulis File
Untuk menulis file kita dapat menggunakan fungsi fputc(), fputs() dan fprintf(). Fungsi fputc() digunakan untuk menulis nilai karakter (char), sedangkan fungsi fputs() dan fprintf() digunakan untuk menulis sebuah string.Format Penulisan fputc():
fputc('karakter', nama_variabel_file);
Format Penulisan fputs():
fputs("string", nama_variabel_file);
Format Penulisan fprintf():
fprintf(nama_variabel_file, "string");
Contoh Penulisan :
#include <stdio.h>
main() {
FILE *file;
file = fopen("file.txt", "w+");
fputc('Ini adalah karakter', file);
fputs("\nstring pada fungsi fputs()\n", file);
fprintf(file, "string pada fungsi fprintf()\n");
fclose(file);
printf("File berhasil dibuat & text berhasil dimasukan kedalam file.");
getch();
}
Output :
Gambar 2. Menulis file dengan fungsi fputc(), fputs() dan fprintf()
C. Membaca File
Untuk membaca file kita bisa menggunakan fungsi fgetc(), fgets() dan fscanf(). Fungsi fgetc() digunakan untuk membaca karakter pada file, sedangkan fungsi fgets() dan fscanf() digunakan untuk membaca string pada file. Pada fungsi fgets() hanya dapat membaca string pada file sampai ditemukannya baris baru (\n) atau sampai jumlah maksimal karakter yang sudah ditentukan, sedangkan pada fungsi fscanf() hanya membaca string sampai ditemukannya karakter spasi yang pertama.Format Penulisan fgetc():
fgetc(nama_variabel_file);
Format Penulisan fgets():
fgets(nama_variabel, jml_karakter, nama_variabel_file);
Format Penulisan fscanf():
fscanf(nama_variabel_file, "string_kontrol", nama_variabel_file);
Contoh Penulisan :
#include <stdio.h>
main() {
FILE *file;
char isi[255], karakter;
file = fopen("file.txt", "r");
if(file == NULL){
printf("File tidak tersedia!");
}else{
karakter = fgetc(file);
printf("Fungsi fgetc(): %c\n", karakter);
fgets(isi, 255, file);
printf("Fungsi fgets(): %s\n", isi);
fscanf(file, "%s", isi);
printf("Fungsi fscanf(): %s\n", isi);
}
fclose(file);
getch();
}
Output :
Gambar 3. Membaca file dengan fungsi fgetc(), fgets() dan fscanf()
D. Membaca dan Menulis File Biner
Untuk membaca file biner kita bisa menggunakan fungsi fread(), sedangkan untuk menulis file biner menggunakan fungsi fwrite().Format Penulisan fread():
fread(alamat_memori, ukuran_bytes, ukuran_blok, nama_variabel_file);
Format Penulisan fwrite():
fwrite(alamat_memori, ukuran_bytes, ukuran_blok, nama_variabel_file);
Contoh Penulisan fread():
#include<stdio.h>
struct web
{
char nama[50];
};
int main()
{
FILE *file;
struct web nama_web;
file=fopen("file.bin","rb");
if(!file)
{
printf("File tidak ditemukan!");
}
fread(&nama_web,sizeof(struct web),1,file);
printf("%s\n",nama_web.nama);
fclose(file);
getch();
}
Contoh Penulisan fwrite():
#include<stdio.h>
struct web
{
char nama[50];
};
int main()
{
FILE *file;
struct web nama_web;
file=fopen("file.bin","wb");
if (!file)
{
printf("Error!");
}
strcpy(nama_web.nama, "Pointopoin");
fwrite(&nama_web, sizeof(struct web), 1, file);
fclose(file);
printf("File berhasil dibuat & data berhasil dimasukan kedalam file!");
getch();
}
Output fread():
Gambar 4. Membaca file biner menggunakan fungsi fread()
Output fwrite():
Gambar 5. Menulis file biner menggunakan fungsi fwrite()
Komentar
Posting Komentar