80 likes | 321 Views
Bab 13. Manipulasi Fail. Fail Input dan Output. Input dan output piawai bagi aturcara C ialah papankunci dan paparan (monitor) Input juga boleh diterima dari fail, dan output boleh ditulis ke dalam fail fail data Terdapat dua jenis fail data : fail teks dan fail binari
E N D
Bab 13 Manipulasi Fail
Fail Input dan Output • Input dan output piawai bagi aturcara C ialah papankunci dan paparan(monitor) • Input juga boleh diterima dari fail, dan output boleh ditulis ke dalam fail fail data • Terdapat dua jenis fail data : fail teks dan fail binari • Setiap fail teks diakhiri dengan aksara akhir-fail (end-of-file)<eof> • Setiap baris diakhiri dengan aksara baris-baru <newline> • Contoh: Fail ini adalah fail teks.<newline> Ia terdiri dari dua baris. <newline> <eof>
Membuka dan Menutup Fail • Penuding fail digunakan untuk membuka, menutup, dan merujuk kepada tempat tertentu dalam fail input dan output • Sintaks pengisytiharan penuding: FILE *nama_penuding; • Fail input dan output perlu dibuka sebelum boleh digunakan ( baca/tulis ) • Sintaks membuka fail: nama_penuding= fopen(nama_fail, mod_capaian); • Fail juga perlu ditutup selepas digunakan • Sintaks menutup fail: fclose(nama_penuding);
Membuka dan Menutup Fail • Contoh: FILE *fmasuk, *fkeluar; : fmasuk = fopen(“Pelajar.dat”, “r”); fkeluar = fopen(“Keputusan”, “w”); : fclose(fmasuk); fclose(fkeluar); • Nama_fail boleh terdiri dari rentetan nama fail itu sendiri atau pembolehubah rentetan • Contoh menggunakan pembolehubah rentetan: FILE *fin; char fail_input[ ] = “Pelajar”; : fin = fopen(fail_input, “r”); :
Membuka dan Menutup Fail • Mod_capaian menyatakan operasi yang boleh dilakukan terhadap fail yang dibuka Mod Maksud “r” hanya untuk dibaca (read) “w” hanya untuk ditulis – bermula dari awal fail (write) “a” hanya untuk ditulis – bermula dari akhir fail (append) “r+” untuk kemaskini – baca dan tulis “w+” untuk kemaskini – cipta, baca, dan tulis “a+” untuk kemaskini – baca keseluruhan fail, atau tulis dihujung fail
Membuka dan Menutup Fail • Sekiranya proses membuka fail berjaya, penuding akan merujuk kepada baris pertama dan aksara pertama dalam fail yang dibuka • Jika tidak, penuding tidak menunjuk ke mana-mana, juga disebut sebagai bernilai NULL • Untuk mengelak ralat yang serious, aturcara perlu ditamatkan sekiranya terdapat fail yang gagal dibuka • Maka, segmen berikut penting: fin = fopen(“data”, “r”); if ( fin == NULL ) { printf(“Terdapat ralat semasa membuka fail data\n”); exit(1); }
Menulis ke Fail Teks – fprintf() • Sintaks: fprintf( nama_penuding, format_output [ , senarai_nilai] ); • Contoh: fprintf( fout, “d%”, nom); • putc() digunakan untuk menulis satu aksara ke dalam fail • Sintaks putc(): putc(aksara, nama_penuding); • Contoh: putc(‘q’, fout);atau putc(aks, fout);yang mana aks adalah pencam pembolehubah yang menyimpan suatu nilai aksara • fputs() digunakan untuk menulis satu rentetan ke dalam fail • Sintaks fputs(): fputs(rentetan, nama_penuding); • Contoh: fputs(“baris pertama”, fout);atau fputs(baris, fout); yang mana baris adalah pencam suatu rentetan atau nama suatu tatasusunan aksara
Membaca daripada Fail Teks – fscan() • Sintaks : fscanf(nama_penuding, format_output [ , senarai nilai ] ); • Contoh: fscanf(fin, “%d %c”, &matrik, &gred); • Membaca satu aksara dari fail getc() • Sintaks getc(): pembolehubah_aksara = getc(nama_penuding); • Contoh: while ( (aks = getc(fin) ) != EOF ) { : } • Membaca satu rentetan dari fail fgets() • Sintaks fgets(): fgets(pubah_rentetan, pjg_maks_rentetan, nama_penuding); • Contoh: while ( (fgets(nama, 30, fin) ) != NULL ) { : }