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
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
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.