• Giga@hdv-tech.com
  • 24H Au'aunaga i luga ole laiga:
    • 7189078c
    • sns03
    • 6660e33e
    • youtube 拷贝
    • instagram

    C, Faitau ma Tusitusi Pepa

    Taimi meli: Aukuso-11-2023

    Fa'amatala pe fa'apefea ona fai, tatala, ma tapuni e le C programmer se faila faila, po'o se faila faila.

    O se faila, o lona uiga o se faasologa o bytes, pe o se faila faila poʻo se faila binary, C Language, e le gata ina maua ai le avanoa i galuega pito i luga, ae o loʻo tuʻuina atu ai foʻi le telefoni (OS) e faʻagasolo faila i luga o le masini teu. . O lenei mataupu o le a faʻamatalaina vala taua i le puleaina o pepa.

    tatala-faila

    E masani lava ona faʻaaogaina le fopen () galuega e fatu ai se faila fou pe tatala se faila o loʻo i ai, o lenei valaau e amataina se mea o le ituaiga FILE o loʻo i ai faʻamatalaga talafeagai uma e pulea ai le tafe. O le fa'ata'ita'iga lea o lenei vala'au fa'atino:

    FILE *fopen (const char * filename , const char * mode );

    O le igoa faila o se manoa e taʻu ai se faila, o le tau o le auala avanoa e mafai ona avea ma se tasi o mea taua nei:

    mamanu

    fa'amatalaga

    r

    Tatala se faila faila o loʻo iai e mafai ai ona faitau.

    w

    Tatala se faila faila e mafai ai ona tusitusi i le faila. Afai e le o iai le faila, e faia se faila fou. O iinei, o lau polokalame e tusia ai mea mai le amataga o le faila. Afai e iai le faila, o le a tipi i le leai se umi ma toe tusi.

    a

    Tatala se faila faila ma tusi i le faila i se faiga faʻaopoopo. Afai e le o iai le faila, e faia se faila fou. Iinei, o lau polokalame e faʻapipiʻi ai anotusi i faila ua uma ona e maua.

    r+

    Tatala se faila faila e mafai ai ona e faitau ma tusi le faila.

    w+

    Tatala se faila faila e mafai ai ona e faitau ma tusi le faila. Afai ua uma ona iai le faila, e tipi le faila i le umi ole umi, ma afai e le o iai le faila, ua faia se faila fou.

    a+

    Tatala se faila faila e mafai ai ona e faitau ma tusi le faila. Afai e le o iai le faila, e faia se faila fou. O le faitau e amata i le amataga o le faila, ma o le tusitusi e naʻo le faʻapipiʻi tulaga.

    Afai e fa'agasolo faila faila, fa'aoga le faiga fa'aoga nei e sui ai mea o lo'o i luga:

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

    faila tapuni

    Ina ia tapunia le faila, faʻamolemole faʻaoga le flose() galuega. O le fa'ata'ita'iga o le galuega e fa'apea:

    int fclose ( FILE *fp );

    • Afai e tapunia lelei le faila, o le fclose() galuega e toe foʻi le zero, ma afai o le mea sese e toe foʻi mai EOF. O lenei galuega, o le mea moni, aveese faʻamaumauga mai le paʻu, tapuni le faila, ma faʻasaʻo uma le manatua na faʻaaogaina mo lena faila. O le EOF o se faʻamatalaga faifaipea i le faila faila stdio.h

    O le C standard library e maua ai galuega eseese e faitau ma tusi ai faila e ala i mataitusi poʻo se manoa tumau-umi.

    Tusi i le faila

    O galuega sili nei ona faigofie e tusi ai mataitusi i le vaitafe:

    int fputc ( int c , FILE *fp );

    O le galuega fputc () e tusia ai le tau o uiga o le parameter c i totonu o le tafega o loʻo faʻasino i ai le fp. Afai e manuia tusitusiga, e toe faʻafoʻi le uiga tusitusia ma le EOF pe a tupu se mea sese. E mafai ona e fa'aogaina le galuega lea e tusi ai se manoa e fa'ai'u i se null i le vaitafe:

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

    O le galuega fputs () e tusia ai le manoa s i le tafega o lo'o fa'asino i ai le fp. Afai e manuia le tusitusi, e toe faʻafoʻi mai se tau le lelei ma le EOF pe a tupu se mea sese. E mafai fo'i ona e fa'aogaina le galuega ole int fprintf (FILE * fp, const char * format,...) e tusi ai se manoa i le faila. Taumafai le fa'ata'ita'iga lenei:

    Manatua: Ia mautinoa o loʻo i ai sau tusi tusi tmp avanoa, ma afai e le o iai, e tatau ona e fatuina muamua i lau komepiuta.

    / tmp e masani lava o se lisi le tumau i luga o le Linux system. Afai e te tamoe i luga o le Windows system, e tatau ona e suia i se lisi o loʻo i ai i le siosiomaga faʻapitonuʻu, e pei o: C: \ tmp, D: \ tmp, ma isi.

    faataitaiga ola

    #fa'aofia int main () { FILE *fp = NULL; fp = fopen ("/tmp/test.txt ", "w+"); fprintf (fp , "O le suʻega lea mo fprintf...\n "); fputs ("O le suʻega lea mo fputs...\n ", fp ); fclose (fp); }

    A tu'ufa'atasia ma fa'atino le fa'ailoga o lo'o i luga, e faia ai se faila fou test.txt i le /tmp directory. Ma tusi i laina e lua e faʻaaoga ai galuega eseese e lua. Sei o tatou faitau le faila lea e sosoo ai.

    Faitau le faila

    O le galuega sili ona faigofie e faitau ai se tagata e tasi mai se faila:

    int fgetc ( FILE * fp );

    O le fgetc () galuega e faitau ai se tagata mai le faila faila o loʻo faʻasino i ai le fp. Ole tau fa'afo'i ole uiga faitau ma le EOF pe a tupu se mea sese. O le galuega lenei e mafai ai ona e faitauina se manoa mai se vaitafe:

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

    O le galuega fgets () e faitau ai le n-1 mataitusi mai le ala fa'aoga fa'atonu e fp. Na te kopiina le manoa faitau i le buffer buf ma fa'apipi'i se uiga null i le pito e fa'agata ai le manoa.

    Afai o lenei galuega e fetaui ma se laina motusia '\ n' po'o le EOF o le pito o le faila a'o le'i faitauina le uiga mulimuli, ona toe foi lea i mataitusi faitau, e aofia ai laina laina. E mafai fo'i ona e fa'aogaina le int fscanf (FILE * fp, const char * format,...) e faitau ai le manoa mai le faila, ae taofi le faitau pe a o'o i le avanoa muamua ma le laina laina.

    faataitaiga ola

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

    A tuʻufaʻatasia ma faʻatinoina le tulafono o loʻo i luga, e faitau faila na faia i le vaega muamua, ma maua ai faʻaiuga nei:

    1: Ole 2 lenei: ole su'ega mo fprintf...

    3: Ole su'ega lea mo fputs...

    Muamua, o le auala o le fscanf() naʻo le faitau Lenei .ona e fetaui ma se avanoa i tua. Lona lua, valaau le functon fgets () e faitau le vaega o totoe seia oo i le faaiuga o le laina. Mulimuli ane, valaau fgets () e faitau atoa le laina lona lua.

    Binary I/O galuega

    O galuega tauave nei e lua o loʻo faʻaaogaina mo le faʻaogaina ma le gaioiga binary:

    tele_t fread (noa *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 *se_file );

    O galuega uma e lua e faitau ma tusitusi mo poloka e teu ai-e masani lava o arrays poʻo fausaga.

    I luga e uiga i le C faila faitau ma tusitusi e patino i le HDV Phoelectron Technology Ltd., o se faagaioiga masini komepiuta. Ma le kamupani mo meafaigaluega fesoʻotaʻi fesoʻotaʻiga (pei o: ACONU/ fesootaigaONU/ popotoONU/ alavaONU, ma isi) ua faʻapotopotoina se 'au faʻapipiʻi mamana, mo tagata faʻatau uma e faʻapipiʻiina manaoga faʻapitoa o loʻo manaʻomia, faʻapea foi a tatou oloa e sili atu le atamai ma le alualu i luma.



    web聊天