fopen()
Membuka file dalam C
Fungsi fopen()
digunakan untuk membuka file dan mengembalikan pointer ke file (FILE *
) yang akan digunakan untuk operasi file selanjutnya.
Sintaks
FILE *fopen(const char *filename, const char *mode);
filename
➜ Nama file yang ingin dibuka.mode
➜ Mode akses file (r
,w
,a
, dll.).Mengembalikan
FILE *
jika berhasil, atauNULL
jika gagal.
Mode Akses File
"r"
Membuka file untuk membaca (harus ada file-nya).
"w"
Membuka file untuk menulis (jika ada, akan dihapus; jika tidak ada, akan dibuat).
"a"
Membuka file untuk menambahkan (append) di akhir (jika tidak ada, dibuat).
"r+"
Membuka file untuk membaca dan menulis tanpa menghapus isinya.
"w+"
Membuka file untuk membaca dan menulis, tetapi menghapus isinya jika ada.
"a+"
Membuka file untuk membaca dan menulis, menulis hanya bisa di akhir file.
Contoh Penggunaan
1. Membuka file untuk membaca ("r")
#include <stdio.h>
int main() {
FILE *file = fopen("data.txt", "r");
if (file == NULL) {
printf("File tidak ditemukan!\n");
return 1;
}
printf("File berhasil dibuka untuk membaca!\n");
fclose(file);
return 0;
}
Hasilnya:
# Jika file ditemukan
File berhasil dibuka untuk membaca!
# Jika file tidak ditemukan
File tidak ditemukan!
Jika
data.txt
ada, file dibuka untuk membaca.Jika tidak ada,
fopen()
mengembalikan NULL, dan program menangani error.fclose(file)
menutup file setelah selesai digunakan.
2. Membuka file untuk menulis ("w")
#include <stdio.h>
int main() {
FILE *file = fopen("data.txt", "w");
if (file == NULL) {
printf("Gagal membuka file!\n");
return 1;
}
printf("File berhasil dibuka untuk menulis!\n");
fclose(file);
return 0;
}
Hasilnya:
File berhasil dibuka untuk menulis!
Jika
data.txt
sudah ada, isinya akan dihapus.Jika
data.txt
belum ada, file baru akan dibuat.
3. Membuka file untuk menambahkan ("a")
#include <stdio.h>
int main() {
FILE *file = fopen("data.txt", "a");
if (file == NULL) {
printf("Gagal membuka file!\n");
return 1;
}
printf("File berhasil dibuka untuk menambahkan!\n");
fclose(file);
return 0;
}
Mode "a" tidak menghapus isi file, tetapi menulis di akhir file.
4. Membuka file untuk membaca dan menulis ("r+", "w+", "a+")
#include <stdio.h>
int main() {
FILE *file = fopen("data.txt", "r+");
if (file == NULL) {
printf("File tidak ditemukan!\n");
return 1;
}
printf("File berhasil dibuka untuk membaca dan menulis!\n");
fclose(file);
return 0;
}
Mode "r+" membutuhkan file sudah ada. Jika tidak ada,
fopen()
mengembalikan NULL.Mode "w+" menghapus isi file sebelum menulis ulang.
Mode "a+" menulis hanya bisa di akhir file, tetapi tetap bisa membaca.
5. Menangani error saat membuka file
Jika fopen()
gagal membuka file, kita harus menangani error agar program tidak crash.
#include <stdio.h>
int main() {
FILE *file = fopen("tidak_ada.txt", "r");
if (file == NULL) {
perror("Error membuka file");
return 1;
}
fclose(file);
return 0;
}
perror("Error membuka file")
akan mencetak pesan error standar dari sistem operasi.
Last updated