Nerangake carane programmer C nggawe, mbukak, lan nutup file teks, utawa file binar.
File, tegese sakumpulan bita, apa iku file teks utawa file binar, C Language, ora mung nyedhiyakake akses menyang fungsi tingkat paling dhuwur, nanging uga nyedhiyakake panggilan dhasar (OS) kanggo ngolah file ing piranti panyimpenan. . Bab iki bakal nerangake panggilan penting ing manajemen dokumen.
mbukak-file
Biasane nggunakake fungsi fopen () kanggo nggawe file anyar utawa mbukak file sing wis ana, telpon iki initializes obyek saka jinis FILE sing ngemot kabeh informasi sing perlu kanggo ngontrol aliran. Mangkene prototipe panggilan fungsi iki:
FILE *fopen (const char * jeneng file, const char * mode);
Ing kene jeneng file minangka string kanggo menehi jeneng file, nilai mode akses bisa dadi salah siji saka nilai ing ngisor iki:
pola | katrangan |
r | Bukak file teks sing wis ana sing ngidini diwaca. |
w | Bukak file teks sing ngidini nulis menyang file kasebut. Yen file ora ana, file anyar digawe. Ing kene, program sampeyan nulis konten saka wiwitan file. Yen file kasebut ana, bakal dipotong dadi nol lan ditulis maneh. |
a | Bukak file teks lan tulis menyang file ing mode append. Yen file ora ana, file anyar digawe. Ing kene, program sampeyan nambahake konten menyang file sing wis ana. |
r+ | Bukak file teks sing ngidini sampeyan maca lan nulis file kasebut. |
w+ | Bukak file teks sing ngidini sampeyan maca lan nulis file kasebut. Yen file kasebut wis ana, file kasebut dipotong dadi nol, lan yen file kasebut ora ana, file anyar bakal digawe. |
a+ | Bukak file teks sing ngidini sampeyan maca lan nulis file kasebut. Yen file ora ana, file anyar digawe. Waca diwiwiti ing wiwitan file, lan nulis mung ing mode append. |
Yen file binar diproses, gunakake mode akses ing ngisor iki kanggo ngganti ing ndhuwur:
"rb", "wb", "ab", "rb+", "r+b", "wb+", "w+b", "ab+", "a+b"
file sing ditutup
Kanggo nutup file, gunakake fungsi flose(). Prototipe fungsi kasebut kaya ing ngisor iki:
int fclose (FILE *fp);
- Yen file ditutup kanthi sukses, fungsi flose () ngasilake nul, lan yen kesalahan ngasilake EOF. Fungsi iki, nyatane, mbusak data saka buffer, nutup file, lan ngeculake kabeh memori sing digunakake kanggo file kasebut. EOF punika pancet ditetepake ing file header stdio.h
Pustaka standar C nyedhiyakake macem-macem fungsi kanggo maca lan nulis file kanthi karakter utawa minangka string sing dawane tetep.
Tulis menyang file
Mangkene fungsi paling gampang kanggo nulis karakter menyang stream:
int fputc (int c, FILE *fp);
Fungsi fputc () nulis nilai karakter saka parameter c menyang stream output sing fp titik. Yen nulis sukses, bakal ngasilake karakter sing ditulis lan EOF yen ana kesalahan. Sampeyan bisa nggunakake fungsi ing ngisor iki kanggo nulis string sing diakhiri karo null menyang stream:
int fputs (const char *s , FILE *fp);
Fungsi fputs () nyerat senar s kanggo stream output ngendi fp nuding. Yen nulis kasil, ngasilake nilai non-negatif lan EOF yen ana kesalahan. Sampeyan uga bisa nggunakake fungsi int fprintf (FILE * fp, const char * format,...) nyerat string menyang file. Coba conto ing ngisor iki:
Cathetan: Priksa manawa sampeyan duwe direktori tmp sing kasedhiya, lan yen ora ana, sampeyan kudu nggawe direktori kasebut ing komputer dhisik.
/ tmp biasane direktori sementara ing sistem Linux. Yen sampeyan mbukak ing sistem Windows, sampeyan kudu ngowahi menyang direktori sing wis ana ing lingkungan lokal, kayata: C: \ tmp, D: \ tmp, lsp.
tuladha urip
#kalebu
Nalika kode ing ndhuwur dikompilasi lan dieksekusi, bakal nggawe file test.txt anyar ing direktori / tmp. Lan nulis kanggo rong baris nggunakake rong fungsi beda. Ayo maca file iki sabanjure.
Maca file kasebut
Ing ngisor iki minangka fungsi paling gampang kanggo maca karakter siji saka file:
int fgetc (FILE * fp);
Fungsi fgetc () maca karakter saka file input sing titik fp. Nilai bali yaiku karakter sing diwaca lan EOF yen ana kesalahan. Fungsi ing ngisor iki ngidini sampeyan maca string saka stream:
char *fgets (char *buf , int n , FILE *fp );
Fungsi fgets () maca n-1 karakter saka stream input diarahake dening fp. Iki nyalin string diwaca menyang buffer buf lan nambah karakter null ing mburi kanggo mungkasi senar.
Yen fungsi iki nemu karakter baris rusak '\ n' utawa EOF pungkasan file sadurunge maca karakter pungkasan, banjur mung bali menyang karakter diwaca, kalebu baris break. Sampeyan uga bisa nggunakake fungsi int fscanf (FILE * fp, const char * format,...) kanggo maca senar saka file, nanging mandheg maca nalika nemoni spasi pisanan lan baris break.
tuladha urip
#kalebu
Nalika kode ing ndhuwur dikompilasi lan dieksekusi, maca file sing digawe ing bagean sadurunge, ngasilake asil ing ngisor iki:
1: Iki 2: nyoba kanggo fprintf...
3: Iki nyoba kanggo fputs ...
First, cara fscanf () mung maca Iki .amarga ketemu spasi ing mburi. Kapindho, nelpon functon fgets () kanggo maca bagean sing isih ana nganti pungkasan baris. Pungkasan, nelpon fgets () kanggo maca baris kapindho kanthi lengkap.
Fungsi biner I/O
Rong fungsi ing ngisor iki digunakake kanggo input lan output biner:
size_t fread (void *ptr, size_t size_of_elements, size_t number_of_elements, FILE *a_file); size_t fwrite (const void *ptr, size_t size_of_elements, size_t number_of_elements, FILE *a_file);
Loro-lorone fungsi diwaca lan ditulis kanggo pamblokiran panyimpenan-biasane susunan utawa struktur.
Ndhuwur babagan maca lan nulis file C kalebu HDV Phoelectron Technology Ltd., operasi teknis piranti lunak. Lan perusahaan kanggo peralatan sing gegandhengan karo jaringan (kayata: ACONU/ komunikasiONU/ pinterONU/ seratONU, etc.) wis nggawa bebarengan tim lunak kuat, kanggo saben customer ngatur panjaluk eksklusif sing mbutuhake, uga supaya produk kita luwih cerdas lan maju.