• Giga@hdv-tech.com
  • Layanan Online 24 jam:
    • 7189078c
    • sns03
    • 6660e33e
    • youtube 拷贝
    • instagram

    C, Dokumén Maca jeung Nulis

    waktos pos: Aug-11-2023

    Ngajelaskeun kumaha programmer C nyiptakeun, muka, sareng nutup file téks, atanapi file binér.

    A file, hartina runtuyan bait, naha éta mangrupa file téks atawa file binér, C Language, teu ngan nyadiakeun aksés ka fungsi tingkat luhur, tapi ogé nyadiakeun panggero dasar (OS) pikeun ngolah file dina alat panyimpen. . Bab ieu bakal ngajelaskeun sauran penting dina manajemén dokumén.

    open-file

    Biasana ngagunakeun fungsi fopen () pikeun nyieun hiji file anyar atawa muka hiji file aya, panggero ieu initializes hiji obyék tina tipe FILE nu ngandung sakabéh informasi diperlukeun pikeun ngadalikeun aliran. Ieu prototipe panggero fungsi ieu:

    FILE *fopen (const char * Ngaran koropak, const char * mode);

    Di dieu nami file mangrupikeun string pikeun nami file, nilai modeu aksés tiasa janten salah sahiji nilai ieu:

    pola

    katerangan

    r

    Buka file téks anu tos aya anu ngamungkinkeun éta dibaca.

    w

    Buka file téks anu ngamungkinkeun nyerat kana file. Upami filena teu aya, file énggal didamel. Di dieu, program anjeun nyerat eusi ti mimiti file. Upami filena aya, éta bakal dipotong dugi ka nol panjang sareng ditulis deui.

    a

    Buka file téks sareng tulis kana file dina modeu append. Upami filena teu aya, file énggal didamel. Di dieu, program anjeun nambihan eusi kana file anu anjeun gaduh.

    r+

    Buka file téks anu ngamungkinkeun anjeun maca sareng nyerat file.

    w+

    Buka file téks anu ngamungkinkeun anjeun maca sareng nyerat file. Upami filena tos aya, filena dipotong dugi ka nol panjangna, sareng upami filena teu aya, file énggal didamel.

    a+

    Buka file téks anu ngamungkinkeun anjeun maca sareng nyerat file. Upami filena teu aya, file énggal didamel. Bacaan dimimitian dina awal file, sareng nyeratna ngan ukur dina modeu append.

    Upami file binér diolah, paké modeu aksés ieu pikeun ngagentos di luhur:

    "rb", "wb", "ab", "rb+", "r+b", "wb+", "w+b", "ab+", "a+b"

    file katutup

    Pikeun nutup file, punten nganggo flose () fungsi. Prototipe fungsi nyaéta kieu:

    int fclose (FILE *fp);

    • Lamun file ditutup suksés, fungsi fclose () mulih enol, sarta lamun kasalahan mulih EOF. Fungsi ieu, kanyataanna, ngaluarkeun data tina panyangga, nutup file, sareng ngaleupaskeun sadaya mémori anu dianggo pikeun file éta. EOF mangrupakeun konstanta diartikeun dina file lulugu stdio.h

    Perpustakaan standar C nyayogikeun rupa-rupa fungsi pikeun maca sareng nyerat file ku karakter atanapi salaku string anu panjangna tetep.

    Tulis kana file

    Ieu mangrupikeun fungsi pangbasajanna pikeun nyerat karakter kana aliran:

    int fputc (int c, FILE *fp);

    Fungsi fputc () nyerat nilai karakter tina parameter c kana aliran kaluaran nu fp nunjuk ka. Upami nyeratna suksés, éta bakal ngabalikeun karakter tulisan sareng EOF upami aya kasalahan. Anjeun tiasa nganggo fungsi ieu pikeun nyerat string anu ditungtungan ku nol kana aliran:

    int fputs (const char *s, FILE *fp);

    Fungsi fputs () nyerat string s kana aliran kaluaran dimana fp nunjuk ka. Upami nyeratna suksés, éta ngabalikeun nilai non-négatip sareng EOF upami aya kasalahan. Anjeun oge bisa make fungsi int fprintf (FILE * fp, const char * format,...) nyerat string kana file. Coba conto di handap ieu:

    Catetan: Pastikeun anjeun gaduh diréktori tmp anu sayogi, sareng upami éta henteu aya, anjeun kedah nyiptakeun éta dina komputer heula.

    / tmp biasana mangrupa diréktori samentara dina sistem Linux. Upami anjeun ngajalankeun sistem Windows, anjeun kedah ngarobih kana diréktori anu aya di lingkungan lokal, sapertos: C: \ tmp, D: \ tmp, jsb.

    conto hirup

    #kaasup int main () { FILE *fp = NULL; fp = fopen ("/tmp/test.txt", "w+"); fprintf (fp , "Ieu nguji pikeun fprintf...\n"); fputs ("Ieu nguji pikeun fputs...\n", fp ); fclose (fp); }

    Nalika kodeu di luhur disusun sareng dieksekusi, éta nyiptakeun file test.txt anyar dina diréktori / tmp. Sareng nyerat kana dua garis nganggo dua fungsi anu béda. Hayu urang baca file ieu salajengna.

    Baca file

    Ieu mangrupikeun fungsi pangbasajanna pikeun maca karakter tunggal tina file:

    int fgetc (FILE * fp);

    Fungsi fgetc () maca karakter tina file input anu titik fp. Nilai balik nyaéta karakter dibaca sareng EOF upami aya kasalahan. Fungsi di handap ieu ngamungkinkeun anjeun maca senar tina aliran:

    char *fgets (char *buf, int n, FILE *fp);

    Fungsi fgets () maca n-1 karakter tina aliran input diarahkeun ku fp. Ieu nyalin string dibaca ka buffer buf sarta appends karakter null dina tungtung pikeun nungtungan string.

    Upami pungsi ieu mendakan karakter garis rusak '\ n' atanapi EOF tungtung file sateuacan maca karakter terakhir, teras ngan ukur balik deui ka karakter anu dibaca, kalebet istirahat garis. Anjeun oge bisa make int fscanf (FILE * fp, const char * format,...) fungsi maca string ti file, tapi eureun maca nalika encountering spasi munggaran tur putus garis.

    conto hirup

    #kaasup int main () { FILE *fp = NULL; char buff [255]; fp = fopen ("/tmp/test.txt", "r"); fscanf (fp, "%s", buff); printf ("1: %s \n", buff); fgets (buff, 255, (FILE *)fp); printf ("2: %s \n", buff ); fgets (buff, 255, (FILE *)fp); printf ("3: %s \n", buff ); fclose (fp); }

    Nalika kodeu di luhur disusun sareng dieksekusi, éta maca file anu didamel dina bagian sateuacana, ngahasilkeun hasil ieu:

    1: Ieu 2: nguji pikeun fprintf...

    3: Ieu nguji pikeun fputs ...

    Kahiji, métode fscanf () ngan maca Ieu .sabab encounters spasi dina tonggong. Kadua, nelepon functon fgets () pikeun maca bagian sésana nepi ka ahir garis. Tungtungna, nelepon fgets () maca baris kadua lengkep.

    Fungsi binér I / O

    Dua fungsi di handap ieu dianggo pikeun input sareng kaluaran binér:

    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);

    Duanana fungsi dibaca jeung ditulis pikeun blok gudang-biasana arrays atawa struktur.

    Di luhur ngeunaan maca jeung nulis file C milik HDV Phoelectron Téhnologi Ltd., operasi teknis software. Sareng perusahaan pikeun alat anu aya hubunganana sareng jaringan (sapertos: ACONU/ komunikasiONU/ calakanONU/ seratONU, jsb) geus dibawa babarengan tim software kuat, pikeun unggal customer ngaropéa tungtutan ekslusif anu merlukeun eta, ogé hayu produk urang leuwih calakan tur maju.



    wéb聊天