Qeexayaa sida programmer-ka C u sameeyo, u furo, una xidho faylka qoraalka, ama faylka binary.
Faylka, macnaheedu waa taxane taxane ah, hadday tahay faylka qoraalka ama faylka binary, C Language, kaliya maaha inay bixiso marin u helka hawlaha heerka sare, laakiin sidoo kale waxay bixisaa wicitaanka hoose (OS) ee lagu socodsiiyo faylasha aaladda kaydinta . Cutubkani waxa uu sharxi doonaa baaqyada muhiimka ah ee maamulka dukumentiga.
fayl furan
Caadi ahaan isticmaalka fopen () function si loo abuuro fayl cusub ama loo furo fayl jira, wacitaankani wuxuu bilaabaa shay nooca FILE oo ka kooban dhammaan macluumaadka lagama maarmaanka ah si loo xakameeyo socodka. Waa kan tusaalaha wicitaanka shaqada:
FILE * fopen (const char * filename, qaab char * ah);
Halkan filename waa xadhig lagu magacaabo faylka, qiimaha habka gelitaanka wuxuu noqon karaa mid ka mid ah qiimayaasha soo socda:
qaab | sharaxaad |
r | Fur faylka qoraalka jira ee u oggolaanaya in la akhriyo. |
w | Fur faylka qoraalka u ogolaanaya in wax lagu qoro faylka. Haddii faylka uusan jirin, fayl cusub ayaa la abuurayaa. Halkan, barnaamijkaagu wuxuu ka qorayaa nuxurka bilowga faylka. Haddii feylku jiro, waa la gooyn doonaa ilaa eber oo dib ayaa loo qori doonaa. |
a | Fur faylka qoraalka oo ku qor faylka qaab lifaaq ah. Haddii faylka uusan jirin, fayl cusub ayaa la abuurayaa. Halkan, barnaamijkaagu waxa uu ku lifaaqayaa nuxurka faylalka aad hore u haysatey. |
r+ | Fur faylka qoraalka kaas oo kuu ogolaanaya inaad akhrido oo aad qorto faylka. |
w+ | Fur faylka qoraalka kaas oo kuu ogolaanaya inaad akhrido oo aad qorto faylka. Haddii feylku uu hore u jiray, feylku waa la gooyay ilaa eber dherer ah, haddii faylka uusan jirin, fayl cusub ayaa la abuurayaa. |
a+ | Fur faylka qoraalka kaas oo kuu ogolaanaya inaad akhrido oo aad qorto faylka. Haddii faylka uusan jirin, fayl cusub ayaa la abuurayaa. Akhrisku waxa uu ka bilaabmaa bilowga faylka, qoraalkuna waxa uu ku jiraa habka lifaaqa oo kaliya. |
Haddii faylka binary-ga la farsameeyay, isticmaal habka gelitaanka soo socda si aad u bedesho kan kore:
"rb", "wb", "ab", "rb+", "r+b", "wb+", "w+b", "ab+", "a+b"
faylka xiran
Si aad u xirto faylka, fadlan isticmaal fclose() function. Nooca shaqadu waa sida soo socota:
int fclose (FILE *fp);
- Haddii feylku si guul leh loo xiro, shaqada fclose() waxay soo celineysaa eber, iyo haddii qaladku soo celiyo EOF. Shaqadani, dhab ahaantii, waxay ka saartaa xogta kaydiyaha, xidhaysa faylka, waxayna sii daysay dhammaan xusuusta loo isticmaalo faylkaas. EOF waa mid si joogto ah loogu qeexay faylka madaxa ee stdio.h
Maktabadda caadiga ah ee C waxay bixisaa hawlo kala duwan oo lagu akhriyo laguna qoro faylalka jilayaal ama xadhig dhererkiisu go'an yahay.
Ku qor faylka
Waa kuwan hawlaha ugu fudud ee lagu qori karo jilayaasha qulqulka:
int fputc ( int c , FILE * fp );
Shaqada fputc () waxay ku qortaa qiimaha jilaha ee halbeegga c gudaha qulqulka wax soo saarka ee fpku tilmaamayo. Haddii qoraalladu guulaystaan, waxay soo celinaysaa jilaha qoran iyo EOF haddii khalad dhaco. Waxaad isticmaali kartaa shaqada soo socota si aad u qorto xadhig ku dhamaanaya null socodka qulqulka:
int fputs (const char *s, FILE *fp);
Shaqada fputs () waxay ku qortaa xargaha s qulqulka wax soo saarka halkaasoo fp uu tilmaamayo. Haddii qoraalladu guulaysto, waxay soo celinaysaa qiime aan xumaan lahayn iyo EOF haddii khalad dhaco. Waxa kale oo aad isticmaali kartaa shaqada int fprintf (FILE * fp, const char * qaabka,...) ayaa u qora xargo faylka. Isku day tusaalahan soo socda:
Fiiro gaar ah: Hubi inaad haysatid tmp directory oo diyaar ah, haddii aanu jirinna, waxaad u baahan tahay inaad marka hore ku abuurto kombiyuutarkaaga.
/ tmp inta badan waa buug ku meel gaar ah oo ku jira nidaamka Linux. Haddii aad ku shaqeyso nidaamka Windows, waxaad u baahan tahay inaad wax ka bedesho hagaha ka jiray deegaanka deegaanka, sida: C: \ tmp, D: \ tmp, iwm.
tusaale nool
#ku dar
Marka koodhka sare la ururiyo oo la fuliyo, wuxuu abuuraa test file test.txt inthe/tmp directory. Oo u qora laba sadar oo isticmaalaya laba hawlood oo kala duwan. Aynu akhrino galkan xiga.
Akhri faylka
Kuwa soo socda ayaa ah shaqada ugu fudud ee lagu akhrin karo hal xaraf oo ka mid ah fayl:
int fgetc (FILE * fp);
Shaqada fgetc () waxay akhridaa xarfo ka mid ah feylka gelinta kaas oo fpku tilmaamayo. Qiimaha soo celinta waa jilaha akhrinta iyo EOF haddii qalad dhaco. Shaqada soo socota waxay kuu ogolaanaysaa inaad akhrido xadhig ka socda qulqulka:
char * fgets ( char * buf , int n , FILE * fp );
Shaqada fgets () waxay akhridaa xarfaha n-1 ee qulqulka gelinta ee fp hagayo. Waxa ay koobiyaysaa xadhigga wax-akhriska ee buffer-ka oo waxa ay ku dhejisaa dabeecad aan jirin dhammaadka si ay u joojiso xadhigga.
Haddii shaqadani ay la kulanto jilaa xariiq jaban '\ n' ama EOF ee dhamaadka faylka ka hor inta aanad akhriyin jilaha ugu dambeeya, ka dibna kaliya ayaa lagu soo celiyay jilayaasha akhrinta, oo ay ku jiraan jebinta laynka. Waxa kale oo aad isticmaali kartaa int fscanf (FILE * fp, const char * qaabka,...) si aad u akhrido xadhkaha faylka, laakiin waxay joojisaa akhrinta marka aad la kulanto booska koowaad iyo xariiqda.
tusaale nool
#ku dar
Marka koodhka sare la sameeyo oo la fuliyo, wuxuu akhriyaa faylalka lagu sameeyay qaybta hore, isagoo soo saaraya natiijooyinka soo socda:
1: kan 2: waxa uu tijaabinayaa fprintf...
3: Tani waxay tijaabinaysaa fputs
Marka hore, habka fscanf () waxa uu akhriyaa oo kaliya Tani .maxaa yeelay waxay la kulmeysaa meel bannaan oo dhabarka ah. Marka labaad, wac functon fgets () si aad u akhrido qaybta hadhay ilaa dhamaadka khadka. Ugu dambeyntii, wac fgets () si aad si buuxda ugu akhrido safka labaad.
Binary I / O function
Labadan hawlood ee soo socda ayaa loo istcimaalay gelinta iyo soo saarista binary:
size_t fread (madhan *ptr, size_t size_of_elements, size_t tirada_elements, FILE *a_file); size_t fwrite (const void *ptr, size_t size_of_elements, size_t number_of_elements, FILE *a_file);
Labada hawloodba waa loo akhriyaa oo loo qoraa baloogyada kaydinta - badiyaa habab ama qaab-dhismeedyo.
Kor ku saabsan akhriska iyo qorista faylka C waxa iska leh HDV Phoelectron Technology Ltd., hawl farsamo software. Iyo shirkada qalabka laxidhiidha shabakada (sida: ACONU/ isgaarsiintaONU/ indheergaradONU/ fiberONU, iwm) waxay isu keentay koox software awood leh, macaamiil kastaa u habeeyo baahiyaha gaarka ah ee u baahan, sidoo kale u ogolow badeecadayadu inay noqdaan kuwo caqli badan oo horumarsan.