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, atauNULLjika 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.txtada, 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.txtsudah ada, isinya akan dihapus.Jika
data.txtbelum 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