Студопедия

Главная страница Случайная страница

Разделы сайта

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






Ch­ng 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 l­u tr÷ ®Ó dï ng nhiÒ u lÇ n vµ tå n t¹ i ngay c¶ khi ch­ng 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 l­u 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 ch­ng 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);

 






© 2023 :: MyLektsii.ru :: Мои Лекции
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
Копирование текстов разрешено только с указанием индексируемой ссылки на источник.