chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

電子發(fā)燒友App

硬聲App

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

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

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

c語言文件下載ppt

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

資料介紹

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

評(píng)論

查看更多

下載排行

本周

  1. 1常用電子元器件集錦
  2. 1.72 MB   |  24485次下載  |  免費(fèi)
  3. 2ssd1306單片 CMOS OLED/PLED 驅(qū)動(dòng)芯片中文手冊(cè)
  4. 1.66 MB   |  4次下載  |  1 積分
  5. 3低壓降肖特基整流管SR340L數(shù)據(jù)手冊(cè)
  6. 0.78 MB   |  2次下載  |  免費(fèi)
  7. 4高壓MOS管MDD12N65F/MDD12N65P數(shù)據(jù)手冊(cè)
  8. 2.36 MB   |  2次下載  |  免費(fèi)
  9. 5FP6195 60V、800mA、480KHz異步降壓轉(zhuǎn)換器規(guī)格書
  10. 0.88 MB   |  2次下載  |  免費(fèi)
  11. 6CPCI6310型復(fù)合視頻采集板資料
  12. 0.04 MB   |  1次下載  |  免費(fèi)
  13. 7STM32F10xxx參考手冊(cè)
  14. 13.64 MB   |  1次下載  |  1 積分
  15. 8PC2456高壓浪涌抑制器控制器數(shù)據(jù)手冊(cè)
  16. 3.03 MB   |  1次下載  |  免費(fèi)

本月

  1. 1常用電子元器件集錦
  2. 1.72 MB   |  24485次下載  |  免費(fèi)
  3. 2三相逆變主電路的原理圖和PCB資料合集免費(fèi)下載
  4. 27.35 MB   |  111次下載  |  1 積分
  5. 3運(yùn)算放大器基本電路中文資料
  6. 1.30 MB   |  16次下載  |  免費(fèi)
  7. 4蘋果iphone 11電路原理圖
  8. 4.98 MB   |  12次下載  |  5 積分
  9. 5常用電子元器件介紹
  10. 3.21 MB   |  10次下載  |  免費(fèi)
  11. 6EMC電路設(shè)計(jì)工程師必備的EMC基礎(chǔ)
  12. 0.42 MB   |  6次下載  |  2 積分
  13. 7相關(guān)協(xié)議信號(hào)總結(jié)
  14. 0.94 MB   |  4次下載  |  免費(fèi)
  15. 8ssd1306單片 CMOS OLED/PLED 驅(qū)動(dòng)芯片中文手冊(cè)
  16. 1.66 MB   |  4次下載  |  1 積分

總榜

  1. 1matlab軟件下載入口
  2. 未知  |  935130次下載  |  10 積分
  3. 2開源硬件-PMP21529.1-4 開關(guān)降壓/升壓雙向直流/直流轉(zhuǎn)換器 PCB layout 設(shè)計(jì)
  4. 1.48MB  |  420064次下載  |  10 積分
  5. 3Altium DXP2002下載入口
  6. 未知  |  233089次下載  |  10 積分
  7. 4電路仿真軟件multisim 10.0免費(fèi)下載
  8. 340992  |  191390次下載  |  10 積分
  9. 5十天學(xué)會(huì)AVR單片機(jī)與C語言視頻教程 下載
  10. 158M  |  183345次下載  |  10 積分
  11. 6labview8.5下載
  12. 未知  |  81591次下載  |  10 積分
  13. 7Keil工具M(jìn)DK-Arm免費(fèi)下載
  14. 0.02 MB  |  73816次下載  |  10 積分
  15. 8LabVIEW 8.6下載
  16. 未知  |  65989次下載  |  10 積分