![]() Ãëàâíàÿ ñòðàíèöà Ñëó÷àéíàÿ ñòðàíèöà ÊÀÒÅÃÎÐÈÈ: ÀâòîìîáèëèÀñòðîíîìèÿÁèîëîãèÿÃåîãðàôèÿÄîì è ñàäÄðóãèå ÿçûêèÄðóãîåÈíôîðìàòèêàÈñòîðèÿÊóëüòóðàËèòåðàòóðàËîãèêàÌàòåìàòèêàÌåäèöèíàÌåòàëëóðãèÿÌåõàíèêàÎáðàçîâàíèåÎõðàíà òðóäàÏåäàãîãèêàÏîëèòèêàÏðàâîÏñèõîëîãèÿÐåëèãèÿÐèòîðèêàÑîöèîëîãèÿÑïîðòÑòðîèòåëüñòâîÒåõíîëîãèÿÒóðèçìÔèçèêàÔèëîñîôèÿÔèíàíñûÕèìèÿ×åð÷åíèåÝêîëîãèÿÝêîíîìèêàÝëåêòðîíèêà |
Chng 9
tË p tin - file 9.1. Kh¸ i niÖ m vÒ tÖ p tin: TÖ p tin hay tÖ p d÷ liÖ u lµ mé t tË p hî p c¸ c d÷ liÖ u cã liª n quan ví i nhau vµ cã cï ng mé t kiÓ u ®î c nhã m l¹ i ví i nhau thµnh mé t d·y. Chó ng thê ng ®î c chø a trong mé t thiÕ t bÞ nhí ngoµi cñ a mÊ y tÝ nh (®Ü a mÒ m, ®Ü a cø ng...) dí i mé t c¸ i tª n nµo ®ã. Tª n tiÕ ng Anh cñ a tÖ p lµ file, nã ®î c dï ng ®Ó chØ ra mé t hé p ®ù ng c¸ c phiÕ u hay thÎ ghi cñ a th viÖ n. Mé t h× nh ¶nh râ nÐ t gió p ta h× nh dung ra tÖ p lµ tñ phiÕ u cñ a th viÖ n. Mé t hé p cã nhiÒ u phiÕ u giè ng nhau vÒ h× nh thø c vµ tæ chø c, song l¹ i kh¸ c nhau vÒ né i dung. ë ®©y, tñ phiÕ u lµ tÖ p, c¸ c l¸ phiÕ u lµ c¸ c thµnh phÇ n cñ a tÖ p. Trong m¸ y tÝ nh, mé t ®Ü a cø ng hoÆ c mé t ®Ü a mÒ m ®ã ng vai trß chiÕ c tñ (®Ó chø a nhiÒ u tÖ p). TÖ p ®î c chø a trong bé nhí ngoµi, ®iÒ u ®ã cã nghÜ a lµ tÖ p ®î c lu tr÷ ®Ó dï ng nhiÒ u lÇ n vµ tå n t¹ i ngay c¶ khi chng tr× nh kÕ t thó c hoÆ c mÊ t ®iÖ n. ChÝ nh v× lý do trª n, chØ nh÷ ng d÷ liÖ u nµo cÇ n lu tr÷ (nh hå s ch¼ ng h¹ n) th× ta nª n dï ng ®Õ n tÖ p. TÖ p lµ mé t kiÓ u d÷ liÖ u cã cÊ u tró c. §Þ nh nghÜ a tÖ p cã phÇ n nµo giè ng m¶ng ë chç chó ng ®Ò u lµ tË p hî p cñ a c¸ c phÇ n tö d÷ liÖ u cï ng kiÓ u, song m¶ng thê ng cã sè phÇ n tö cè ®Þ nh, sè phÇ n tö cñ a tÖ p kh«ng ®î c x¸ c ®Þ nh trong ®Þ nh nghÜ a. Trong C, c¸ c thao t¸ c tÖ p ®î c thù c hiÖ n nhê c¸ c hµm th viÖ n. C¸ c hµm nµy ®î c chia lµm hai nhã m: nhã m 1 vµ nhã m 2. C¸ c hµm cÊ p 1 lµ c¸ c hµm nhË p / xuÊ t hÖ thè ng, chó ng thù c hiÖ n viÖ c ®ä c ghi nh DOS. C¸ c hµm cÊ p 2 lµm viÖ c ví i tÖ p th«ng qua mé t biÕ n con trá tÖ p. Do c¸ c hµm cÊ p 2 cã nhiÒ u kiÓ u truy xuÊ t vµ dÔ dï ng hn so ví i c¸ c hµm cÊ p 1 nª n trong c¸ c chng tr× nh viÕ t trong C, c¸ c hµm cÊ p 2 hay ®î c sö dô ng hn. Mé t tÖ p tin dï ®î c x©y dù ng b»ng c¸ ch nµo ®i n÷ a cò ng chØ ®n gi¶n lµ mé t d·y c¸ c byte ghi trª n ®Ü a (cã gi¸ trÞ tõ 0 ®Õ n 255). Sè byte cñ a d·y chÝ nh lµ ®é dµi cñ a tÖ p. Cã hai kiÓ u nhË p xuÊ t d÷ liÖ u lª n tÖ p: NhË p xuÊ t nhÞ ph©n vµ nhË p xuÊ t v¨ n b¶n. NhË p xuÊ t nhÞ ph©n: · D÷ liÖ u ghi lª n tÖ p theo c¸ c byte nhÞ ph©n nh bé nhí, trong qu¸ tr× nh nhË p xuÊ t, d÷ liÖ u kh«ng bÞ biÕ n ®æ i. · Khi ®ä c tÖ p, nÕ u gÆ p cuè i tÖ p th× ta nhË n ®î c m· kÕ t thó c tÖ p EOF (®î c ®Þ nh nghÜ a trong stdio.h b»ng -1) vµ hµm feof cho gi¸ trÞ kh¸ c 0. NhË p xuÊ t v¨ n b¶n: · KiÓ u nhË p xuÊ t v¨ n b¶n chØ kh¸ c kiÓ u nhÞ ph©n khi xö lý ký tù chuyÓ n dß ng (m· 10) vµ ký tù m· 26. §è i ví i c¸ c ký tù kh¸ c, hai kiÓ u ®Ò u ®ä c ghi nh nhau. · M· chuyÓ n dß ng: Khi ghi, mé t ký tù LF (m· 10) ®î c chuyÓ n thµnh 2 ký tù CR (m· 13) vµ LF Khi ®ä c, 2 ký tù liª n tiÕ p CR vµ LF trª n tÖ p chØ cho ta mé t ký tù LF M· kÕ t thó c tÖ p: Trong khi ®ä c, nÕ u gÆ p ký tù cã m· 26 hoÆ c cuè i tÖ p th× ta nhË n ®î c m· kÕ t thó c tÖ p EOF (b»ng -1) vµ hµm feof(fp) cho gi¸ trÞ kh¸ c 0 (b»ng 1). 9.2. Khai b¸ o sö dô ng tÖ p - mé t sè hµm thê ng dï ng khi thao t¸ c trª n tÖ p: 9.2.1. Khai b¸ o sö dô ng tÖ p: §Ó khai b¸ o sö dô ng tÖ p, ta dï ng lÖ nh sau: FILE biÕ n_con_trá _tÖ p;
Trong ®ã biÕ n_con_trá _tÖ p cã thÓ lµ biÕ n ®n hay mé t danh s¸ ch c¸ c biÕ n ph©n c¸ ch nhau bë i dÊ u ph¶y (dÊ u,). VÝ dô: FILE *vb, *np; /* Khai b¸ o hai biÕ n con trá tÖ p */
9.2.2. Më tÖ p - hµm fopen: CÊ u tró c ng÷ ph¸ p cñ a hµm: FILE *fopen(const char *tª n_tÖ p, const char *kiÓ u);
|