He whakaahua me pehea te hanga, te whakatuwhera me te kati a te kaihātaka C i te konae kupu, i te konae rua ranei.
Ko te konae, ko te tikanga he raupapa paita, ahakoa he konae kupu, he konae rua ranei, C Reo, ehara i te mea ka uru noa ki nga mahi o runga, engari ka tukuna ano te waea (OS) ki te tukatuka i nga konae kei runga i te taputapu rokiroki. . Ma tenei upoko e whakamarama nga karanga nui i roto i te whakahaere tuhinga.
tuwhera-kōnae
I te nuinga o te wa ka whakamahi i te mahi fopen () ki te hanga i tetahi konae hou, ki te whakatuwhera ranei i tetahi konae e noho ana, ka arawhiti tenei waea i tetahi ahanoa o te momo FILE kei roto nga korero katoa hei whakahaere i te rere. Anei te tauira o tenei waea mahi:
FILE *fopen ( const char * filename , const char * mode );
I konei ko te ingoa kōnae he aho hei whakaingoa i tetahi konae, ko te uara o te aratau uru tetahi o nga uara e whai ake nei:
tauira | whakaahuatanga |
r | Whakatuwheratia he konae tuhinga e taea ai te panui. |
w | Whakatuwheratia he konae tuhinga ka taea te tuhi ki te konae. Mena karekau te konae, ka hangaia he konae hou. I konei, ka tuhia e to hotaka nga korero mai i te timatanga o te konae. Mena kei te noho tonu te konae, ka tapahia ki te kore te roa ka tuhia ano. |
a | Tuwherahia he konae tuhinga ka tuhi ki te konae ma te aratau taapiri. Mena karekau te konae, ka hangaia he konae hou. I konei, ka taapirihia e to papatono nga ihirangi ki nga konae kei a koe. |
r+ | Whakatuwherahia he konae tuhinga ka taea e koe te panui me te tuhi i te konae. |
w+ | Whakatuwherahia he konae tuhinga ka taea e koe te panui me te tuhi i te konae. Mēnā kei te tīariari kē te kōnae, ka poroa te kōnae ki te kore te roa, ā, ki te kore te kōnae, ka waihangatia he kōnae hōu. |
a+ | Whakatuwherahia he konae tuhinga ka taea e koe te panui me te tuhi i te konae. Mena karekau te konae, ka hangaia he konae hou. Ka timata te panui i te timatanga o te konae, a ko te tuhi kei te aratau taapiri anake. |
Mena ka tukatukahia te konae rua, whakamahia te aratau uru e whai ake nei hei whakakapi i nga korero o runga ake nei:
"rb", "wb", "ab", "rb+", "r+b", "wb+", "w+b", "ab+", "a+b"
kōnae kati
Hei kati i te konae, whakamahia te mahi fclose(). Ko te tauira o te mahi e whai ake nei:
int fclose ( FILE *fp );
- Ki te katia pai te konae, ka hoki mai te mahi fclose() ki te kore, a mena ka hoki mai te hapa EOF. Ko tenei mahi, ko te tikanga, ka tango i nga raraunga mai i te papaa, ka kati i te konae, ka tukuna nga mahara katoa i whakamahia mo taua konae. Ko te EOF he taumau kua tautuhia ki te konae pane stdio.h
Ko te whare pukapuka paerewa C e whakarato ana i nga momo mahi hei panui me te tuhi i nga konae ma nga tohu, hei aho ranei te roa.
Tuhia ki te kōnae
Anei nga mahi ngawari ki te tuhi i nga tohu ki te awa:
int fputc ( int c , FILE *fp );
Ko te mahi fputc () ka tuhi i te uara tohu o te tawhā c ki te awa putanga e tohuhia ana e te fp. Mena ka angitu nga tuhi, ka whakahokia mai te ahua tuhi me te EOF mena ka puta he hapa. Ka taea e koe te whakamahi i te mahi e whai ake nei hei tuhi i tetahi aho e mutu ana ki te null ki te awa:
int fputs ( const char *s , FILE *fp );
Ko te mahi fputs () ka tuhi i te aho s ki te awa whakaputa e tohu ana te fp. Mena ka angitu nga tuhi, ka whakahokia mai he uara kore-kino me te EOF mena ka puta he hapa. Ka taea hoki e koe te whakamahi i te mahi a int fprintf (FILE * fp, const char * format,...) tuhi aho ki te konae. Whakamātauria te tauira e whai ake nei:
Tuhipoka:Kia mohio kei a koe he whaiaronga tmp e waatea ana, a mena karekau, me hanga e koe ki to rorohiko i te tuatahi.
Ko te / tmp he whaiaronga rangitahi i runga i te punaha Linux. Mena kei te whakahaere koe i runga i te punaha Windows, me whakarere ke koe ki tetahi raarangi i te taiao o te rohe, penei: C: \ tmp, D: \ tmp, etc.
tauira ora
#whakauru
Ka whakahiatohia te waehere i runga ake nei ka mahia, ka hangaia he konae hou test.txt i roto i te whaiaronga / tmp. A ka tuhi ki nga rarangi e rua ma te whakamahi i nga mahi rereke e rua. Kia panuihia tenei konae ka whai ake.
Pānuihia te kōnae
E whai ake nei te mahi ngawari ki te panui i te ahua kotahi mai i te konae:
int fgetc ( FILE * fp );
Ko te mahi fgetc () he panui i tetahi ahuatanga mai i te konae whakaurunga e tohu ana te fp. Ko te uara whakahoki ko te ahua panui me te EOF mena ka puta he hapa. Ko te mahi e whai ake nei ka taea e koe te panui i tetahi aho mai i te awa:
char *fgets ( char *buf , int n , FILE *fp );
Ko te mahi fgets () ka panui i nga tohu n-1 mai i te awa whakauru e tohutohuhia ana e te fp. Ka kape i te aho panui ki te buffer buf ka apitihia he tohu kore ki te mutunga hei whakamutu i te aho.
Mēnā ka tūtaki tēnei taumahi ki tētahi pūāhua rārangi whati '\ n' ranei te EOF o te mutunga o te kōnae i mua i te panui i te pūāhua whakamutunga, ka hoki ki ngā pūāhua pānui, tae atu ki ngā wehenga rārangi. Ka taea hoki e koe te whakamahi i te int fscanf (FILE * fp, const char * format,...) hei panui i te aho mai i te konae, engari ka mutu te panui ina tutaki i te waahi tuatahi me te wehenga raina.
tauira ora
#whakauru
Ka whakahiatohia, ka mahia te waehere i runga ake nei, ka panuihia nga konae i hangaia i te waahanga o mua, ka puta nga hua e whai ake nei:
1: Ko tenei 2: he whakamatautau mo te fprintf...
3: He whakamatautau tenei mo nga fputs...
Tuatahi, ko te tikanga o fscanf() ka panui noa i tenei .no te mea ka tutaki ki tetahi waahi kei muri. Tuarua, karangahia te functon fgets () hei panui i te toenga o te wahanga tae noa ki te mutunga o te rarangi. Ka mutu, waeahia nga fgets () kia panui katoa te rarangi tuarua.
Mahi-rua I/O
Ko nga mahi e rua e whai ake nei ka whakamahia mo te whakauru me te whakaputanga rua:
rahi_t fread (kahore *ptr , rahi_t rahi_o_huānga , rahi_t tau_o_huānga , FILE *a_kōnae ); rahi_t tuhi (const void *ptr , size_t size_of_elements , size_t number_of_elements , FILE *a_kōnae );
Ko nga mahi e rua ka panuihia me te tuhi mo nga poraka rokiroki-te nuinga o te waa he raupapa, he hanganga ranei.
Kei runga ake mo te panui me te tuhi konae C na HDV Phoelectron Technology Ltd., he mahi hangarau rorohiko. Me te kamupene mo nga taputapu e pa ana ki te whatunga (penei: ACONU/ whakawhitiwhitinga koreroONU/ mohioONU/ mukaONU, me etahi atu) kua whakahiatohia he roopu rorohiko kaha, mo nga kaihoko katoa e whakarite ana i nga tono motuhake e hiahia ana, kia mohio hoki a maatau hua.