99精品伊人亚洲|最近国产中文炮友|九草在线视频支援|AV网站大全最新|美女黄片免费观看|国产精品资源视频|精彩无码视频一区|91大神在线后入|伊人终合在线播放|久草综合久久中文

電子發(fā)燒友App

硬聲App

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線(xiàn)課程
  • 觀(guān)看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示
創(chuàng)作
電子發(fā)燒友網(wǎng)>電子資料下載>C語(yǔ)言|源代碼>c語(yǔ)言文件下載ppt

c語(yǔ)言文件下載ppt

2008-09-03 | rar | 5544 | 次下載 | 5積分

資料介紹

此PPT主要內(nèi)容有介紹文件概述,文件類(lèi)型指針,文件操作的相關(guān)函數(shù),應(yīng)用舉例,C文件的概念
所謂的“文件”(file)一般指:存儲(chǔ)在外部介質(zhì)上的相關(guān)數(shù)據(jù)的集合。存放
文件的外部介質(zhì)有磁帶、磁盤(pán)、光盤(pán)等外部存儲(chǔ)器。數(shù)據(jù)包括:數(shù)字、文字、
圖形、圖象、聲音、視頻等。在本章所講的文件是由數(shù)字和文字組成的數(shù)據(jù)文
件。
?? 以前各章中所用到的輸入輸出,都是以屏幕等(標(biāo)準(zhǔn)輸出文件指針:stdout)
為輸出設(shè)備,以鍵盤(pán)(標(biāo)準(zhǔn)輸入文件指針:stdin)為輸入設(shè)備。而程序運(yùn)行有時(shí)
需要把數(shù)據(jù)存放到磁盤(pán)中,這就要用到磁盤(pán)文件。
?? C語(yǔ)言把文件看作是一個(gè)字符(字節(jié))的序列,即由一個(gè)一個(gè)的字符或字節(jié)的
數(shù)據(jù)順序組成。換句話(huà)說(shuō),C語(yǔ)言是把每一個(gè)文件都看作是一個(gè)有序的字節(jié)流。
流是文件和程序之間的通道。一個(gè)C程序可以創(chuàng)建文件和對(duì)文件內(nèi)容進(jìn)行更
新、修改,在程序中所需的數(shù)據(jù)也可以從另一個(gè)文件中獲得。
????? 對(duì)文件的操作一般通過(guò)三個(gè)步驟完成:打開(kāi)文件、讀或?qū)懳募㈥P(guān)閉文件。
文件系統(tǒng)
在C語(yǔ)言中,根據(jù)操作系統(tǒng)對(duì)文件的處理方式的不同,把文件系統(tǒng)分為緩沖
文件系統(tǒng)和非緩沖文件系統(tǒng)。ANSI C標(biāo)準(zhǔn)采用緩沖文件系統(tǒng)。
?? 緩沖文件系統(tǒng)(又稱(chēng)標(biāo)準(zhǔn)I/O)是指操作系統(tǒng)在內(nèi)存中為每一個(gè)正在使用的文
件開(kāi)辟一個(gè)讀寫(xiě)緩沖區(qū)。從內(nèi)存向磁盤(pán)輸出數(shù)據(jù)時(shí),必須先送到內(nèi)存緩沖區(qū),
裝滿(mǎn)緩沖區(qū)后才一起送到磁盤(pán)去。如果從向內(nèi)存讀入數(shù)據(jù),則一次從磁盤(pán)文件
將一批數(shù)據(jù)輸入到內(nèi)存緩沖區(qū),然后再?gòu)膬?nèi)存緩沖區(qū)逐個(gè)地將數(shù)據(jù)送到程序數(shù)
據(jù)區(qū)(變量)。緩沖文件系統(tǒng)解決了高速CPU與低速外存之間的矛盾,使用它延長(zhǎng)了外存的
使用壽命,也提高了系統(tǒng)的整體效率。
?? 非緩沖文件系統(tǒng)(又稱(chēng)系統(tǒng)I/O)是指系統(tǒng)不自動(dòng)開(kāi)辟確定大小的內(nèi)存緩沖區(qū),
而由程序自己為每個(gè)文件設(shè)定緩沖區(qū)。
?? 標(biāo)準(zhǔn)I/O與系統(tǒng)I/O分別采用不同的輸入輸出函數(shù)對(duì)文件進(jìn)行操作。由于A(yíng)NSI
C只采用緩沖文件系統(tǒng),因此本章所講的函數(shù)也只是處理標(biāo)準(zhǔn)I/O的函數(shù)。
文件分類(lèi)
?? 1、從用戶(hù)角度分類(lèi)
?? 從用戶(hù)的角度文件分為標(biāo)準(zhǔn)設(shè)備文件和普通磁盤(pán)文件。
?? ⑴標(biāo)準(zhǔn)設(shè)備文件:是指與主機(jī)相連的各種外部設(shè)備,如顯示器、打印機(jī)、鍵
盤(pán)等。在操作系統(tǒng)中,把外部設(shè)備也看作是一個(gè)文件來(lái)進(jìn)行管理,把它們的輸
入、輸出等同于對(duì)磁盤(pán)文件的讀和寫(xiě)。
?? 標(biāo)準(zhǔn)輸入文件指針:stdin。如果指定從stdin輸入數(shù)據(jù),就是鍵盤(pán)輸入。
?? 標(biāo)準(zhǔn)輸出文件指針:stdout。如果指定stdout輸出數(shù)據(jù),就是屏幕等輸出。
?? 標(biāo)準(zhǔn)錯(cuò)誤輸出文件指針:stderr。標(biāo)準(zhǔn)錯(cuò)誤輸出也是從屏幕終端輸出。
?? ⑵普通磁盤(pán)文件:本章所講的文件主要針對(duì)磁盤(pán)文件。
? 2、按文件的編碼方式分類(lèi)
從文件的編碼方式看,C文件分為ASCII文件和二進(jìn)制文件。
?? ⑴ASCII文件(也稱(chēng)文本文件):ASCII文件在磁盤(pán)中存放時(shí),每個(gè)字符對(duì)應(yīng)一
個(gè)字節(jié),用于存放對(duì)應(yīng)的ASCII碼。如:整型十進(jìn)制數(shù)12345,按ASCII文件存放
則需要占用5個(gè)字節(jié)??稍谄聊簧巷@示,但占用空間較大,讀寫(xiě)操作要轉(zhuǎn)換。
?? ⑵二進(jìn)制文件:是對(duì)不同的數(shù)據(jù)類(lèi)型,按其實(shí)際占用內(nèi)存字節(jié)數(shù)存放。即內(nèi)
存的存儲(chǔ)形式,原樣輸出到磁盤(pán)上存放。如:整型十進(jìn)制數(shù)12345,按二進(jìn)制文
件存放只需要2個(gè)字節(jié)。屏幕顯示為亂碼,但占用空間小,讀寫(xiě)操作效率高。
一、文件指針
要調(diào)用磁盤(pán)上的一個(gè)文件時(shí),必須知道與該文件有關(guān)的信息。比如文件名、
文件的當(dāng)前讀寫(xiě)位置、文件緩沖區(qū)大小與位置、文件的操作方式等。這些信息
被C語(yǔ)言系統(tǒng)保存在一個(gè)稱(chēng)作FILE的結(jié)構(gòu)體中,它在stdio.h頭文件中定義內(nèi)。
FILE結(jié)構(gòu)體的內(nèi)容為(在使用文件操作時(shí),一般不用關(guān)心FILE內(nèi)部成員信息):
typedef?? struct
{? int level;??????????????? /*緩沖區(qū)“滿(mǎn)”或“空”的程度*/
?? unsigned flags;?????????? /*文件狀態(tài)標(biāo)志*/
?? char? fd;???????????????? /*文件描述符*/
?? unsigned char hold;?????? /*如無(wú)緩沖區(qū)不讀取字符*/
?? int? bsize;?????????????? /*緩沖區(qū)大小*/
?? unsigned char *buffer;??? /*數(shù)據(jù)緩沖區(qū)位置*/
?? unsigned char *curp;????? /*文件定位指針*/
?? unsigned istemp;????????? /*臨時(shí)文件指示器*/
?? short token;????????????? /*用于有效性檢查*/
}FILE;
文件指針(續(xù)):
有了結(jié)構(gòu)體FILE類(lèi)型后,可以用它來(lái)定義若干個(gè)FILE類(lèi)型的變量,以便存放
若干個(gè)文件的信息。如:FILE? f[5];? 定義了一個(gè)結(jié)構(gòu)體數(shù)組f,它有5個(gè)元素
可以用來(lái)存放5個(gè)文件的信息。
?? 對(duì)于每一個(gè)要操作的文件,都必須定義一個(gè)指針變量,并使它指向該文件結(jié)
構(gòu)體變量,這個(gè)指針?lè)Q為文件指針。通過(guò)文件指針找到被操作文件的描述信息,
就可對(duì)它所指的文件進(jìn)行各種操作。定義文件指針的一般形式為:
?????? FILE? * 指針變量標(biāo)識(shí)符;
如:FILE? *fp;? 表示fp是一個(gè)指向FILE類(lèi)型結(jié)構(gòu)體的指針變量。可以使fp指
向某一個(gè)文件的結(jié)構(gòu)體變量,從而通過(guò)該結(jié)構(gòu)體變量中的文件信息能夠訪(fǎng)問(wèn)該
文件。
?? 如果有n個(gè)文件,一般應(yīng)定義n個(gè)FILE類(lèi)型的指針變量,使它們分別指向n個(gè)
文件所對(duì)應(yīng)的結(jié)構(gòu)體變量。
如:FILE? *fp1 , *fp2 , *fp2 , *fp4; 可以處理4個(gè)文件。
??? 注意:FILE是用typedef聲明的文件信息結(jié)構(gòu)體的別名,由C系統(tǒng)定義,用
戶(hù)只能使用,不能修改,并且FILE必須大寫(xiě)。
對(duì)文件的操作一般步驟包括:打開(kāi)文件、讀或?qū)懳募?、關(guān)閉文件。在C語(yǔ)言
中,文件操作都是由庫(kù)函數(shù)來(lái)完成的。這些庫(kù)函數(shù)包含在stdio.h頭文件中。
一、文件的打開(kāi)與關(guān)閉
所謂打開(kāi)文件,實(shí)際上是建立文件的各種有關(guān)信息,并使文件指針指向該文
件,以便進(jìn)行其它各種操作。關(guān)閉文件則是斷開(kāi)指針與文件之間的聯(lián)系,也就
禁止再對(duì)該文件進(jìn)行操作。
?? 1、文件的打開(kāi)(fopen函數(shù))
?? ANSIC規(guī)定了標(biāo)準(zhǔn)輸入輸出函數(shù)庫(kù),用fopen()函數(shù)來(lái)實(shí)現(xiàn)打開(kāi)文件。fopen
函數(shù)的原型為:? FILE *fopen(char *filename,char *mode)
其中參數(shù)filename表示一個(gè)文件名,是用雙引號(hào)括起來(lái)的字符串,這個(gè)字符串
可以是一個(gè)合法的帶有路徑的文件名。參數(shù)mode表示對(duì)文件的操作模式,mode
的值仍需要用雙引號(hào)括起來(lái),mode的取值及其含義詳見(jiàn)教材P×××的表6.1。
?? 如:FIEL *fp1; fp1=fopen(“test.c”,”r”); 表示是在當(dāng)前目錄下打開(kāi)文件
test.c,只允許進(jìn)行“讀”操作,并使fp指向該文件。
?? 再如:FIEL *fp2; fp2=fopen(“c:\\tt\\test.exe”,”rb”); 表示打開(kāi)C盤(pán)下
tt目錄中的test.exe文件,是二進(jìn)制文件,只允許按二進(jìn)制方式進(jìn)行讀操作。
下載該資料的人也在下載 下載該資料的人還在閱讀
更多 >

評(píng)論

查看更多

下載排行

本周

  1. 1電子電路原理第七版PDF電子教材免費(fèi)下載
  2. 0.00 MB  |  1490次下載  |  免費(fèi)
  3. 2單片機(jī)典型實(shí)例介紹
  4. 18.19 MB  |  92次下載  |  1 積分
  5. 3S7-200PLC編程實(shí)例詳細(xì)資料
  6. 1.17 MB  |  27次下載  |  1 積分
  7. 4筆記本電腦主板的元件識(shí)別和講解說(shuō)明
  8. 4.28 MB  |  18次下載  |  4 積分
  9. 5開(kāi)關(guān)電源原理及各功能電路詳解
  10. 0.38 MB  |  10次下載  |  免費(fèi)
  11. 6基于A(yíng)T89C2051/4051單片機(jī)編程器的實(shí)驗(yàn)
  12. 0.11 MB  |  4次下載  |  免費(fèi)
  13. 7藍(lán)牙設(shè)備在嵌入式領(lǐng)域的廣泛應(yīng)用
  14. 0.63 MB  |  3次下載  |  免費(fèi)
  15. 89天練會(huì)電子電路識(shí)圖
  16. 5.91 MB  |  3次下載  |  免費(fèi)

本月

  1. 1OrCAD10.5下載OrCAD10.5中文版軟件
  2. 0.00 MB  |  234313次下載  |  免費(fèi)
  3. 2PADS 9.0 2009最新版 -下載
  4. 0.00 MB  |  66304次下載  |  免費(fèi)
  5. 3protel99下載protel99軟件下載(中文版)
  6. 0.00 MB  |  51209次下載  |  免費(fèi)
  7. 4LabView 8.0 專(zhuān)業(yè)版下載 (3CD完整版)
  8. 0.00 MB  |  51043次下載  |  免費(fèi)
  9. 5555集成電路應(yīng)用800例(新編版)
  10. 0.00 MB  |  33562次下載  |  免費(fèi)
  11. 6接口電路圖大全
  12. 未知  |  30320次下載  |  免費(fèi)
  13. 7Multisim 10下載Multisim 10 中文版
  14. 0.00 MB  |  28588次下載  |  免費(fèi)
  15. 8開(kāi)關(guān)電源設(shè)計(jì)實(shí)例指南
  16. 未知  |  21539次下載  |  免費(fèi)

總榜

  1. 1matlab軟件下載入口
  2. 未知  |  935053次下載  |  免費(fèi)
  3. 2protel99se軟件下載(可英文版轉(zhuǎn)中文版)
  4. 78.1 MB  |  537791次下載  |  免費(fèi)
  5. 3MATLAB 7.1 下載 (含軟件介紹)
  6. 未知  |  420026次下載  |  免費(fèi)
  7. 4OrCAD10.5下載OrCAD10.5中文版軟件
  8. 0.00 MB  |  234313次下載  |  免費(fèi)
  9. 5Altium DXP2002下載入口
  10. 未知  |  233045次下載  |  免費(fèi)
  11. 6電路仿真軟件multisim 10.0免費(fèi)下載
  12. 340992  |  191183次下載  |  免費(fèi)
  13. 7十天學(xué)會(huì)AVR單片機(jī)與C語(yǔ)言視頻教程 下載
  14. 158M  |  183277次下載  |  免費(fèi)
  15. 8proe5.0野火版下載(中文版免費(fèi)下載)
  16. 未知  |  138039次下載  |  免費(fèi)