42 C語言文件操作

點(diǎn)擊藍(lán)字
關(guān)注我們
DRAGON BOAT FESTIVAL
01 什么是文件
文件有不同的類型,在程序設(shè)計(jì)中,主要用到兩種文件:
(1)程序文件。包括源程序文件(后綴為.c)、目標(biāo)文件(后綴為.obj)、可執(zhí)行文件(后綴為.exe)等。這種文件的內(nèi)容時(shí)程序代碼。
(2)數(shù)據(jù)文件。文件的內(nèi)容不是程序,而是供程序運(yùn)行時(shí)讀寫的數(shù)據(jù),如在程序運(yùn)行過程中輸出到磁盤(或其他外部設(shè)備)的數(shù)據(jù),或在程序運(yùn)行過程中供讀入的數(shù)據(jù)。
為了簡(jiǎn)化用戶對(duì)輸入輸出設(shè)備的操作,使用戶不必去區(qū)分各種輸入輸出設(shè)備之間的區(qū)別,操作系統(tǒng)把各種設(shè)備都統(tǒng)一作為文件來處理。
文件是程序設(shè)計(jì)中一個(gè)重要的概念。所謂“文件”一般指存儲(chǔ)在外部介質(zhì)上數(shù)據(jù)的集合。
輸入輸出是數(shù)據(jù)傳送的過程,數(shù)據(jù)如流水一樣從一處流向另一處,因此常將輸入輸出形象地稱為流,即數(shù)據(jù)流。
02 文件名
一個(gè)文件要有一個(gè)唯一的文件標(biāo)識(shí),以便用戶識(shí)別和引用。文件標(biāo)識(shí)包括3部分:
(1)文件路徑;
(2)文件名主干;
(3)文件后綴。
03 文件的分類
根據(jù)數(shù)據(jù)的組織形式,數(shù)據(jù)文件可分為ASCII文件和二進(jìn)制文件。
數(shù)據(jù)在內(nèi)存中是以二進(jìn)制形式存儲(chǔ)的,如果不加轉(zhuǎn)換地輸出到外存,就是二進(jìn)制文件,可以認(rèn)為它就是存儲(chǔ)在內(nèi)存的數(shù)據(jù)的映象,所以也稱之為映像文件。
如果要求在外存上以ASCII代碼形式存儲(chǔ),則需要在存儲(chǔ)前進(jìn)行轉(zhuǎn)換。
ASCII文件又稱文本文件,每一個(gè)字節(jié)放一個(gè)字符的ASCII代碼。
04 文件緩沖區(qū)
ANSI C標(biāo)準(zhǔn)采用“緩沖文件系統(tǒng)”處理數(shù)據(jù)文件,所謂緩沖文件系統(tǒng)是指系統(tǒng)自動(dòng)地在內(nèi)存區(qū)為程序中每一個(gè)正在使用的文件開辟一個(gè)文件緩沖區(qū)。
05 文件類型指針
緩沖文件系統(tǒng)中,關(guān)鍵的概念是“文件類型 指針”,簡(jiǎn)稱“文件指針”。每個(gè)被使用的文件都在內(nèi)存中開辟一個(gè)相應(yīng)的文件信息區(qū),用來存放文件的有關(guān)信息。這些信息是保存在一個(gè)結(jié)構(gòu)體變量中的。
05 函數(shù)介紹
1.fopen():文件打開操作
頭文件:stdio.h
函數(shù)定義:FILE *fopen(char *pname, char *mode)
函數(shù)說明:pname是文件名,mode是打開文件的方式
mode:"r" 打開一個(gè)已經(jīng)存在的文件文本,文件不存在則出錯(cuò)

以“r+”的方式打開一個(gè)文件,會(huì)清空文件的原始內(nèi)容,重新寫入數(shù)據(jù)
返回值:正常返回:FILE *一個(gè)指向文件在內(nèi)存中的文件信息的開頭
異常返回:NULL,表示打開操作不成功
打開文件的作用是:
(1)分配給打開文件一個(gè)FILE 類型的文件結(jié)構(gòu)體變量,并將有關(guān)信息填入文件結(jié)構(gòu)體變量;
(2)開辟一個(gè)緩沖區(qū);
(3)調(diào)用操作系統(tǒng)提供的打開文件或建立新文件功能,打開或建立指定文件;
2. fclose():文件關(guān)閉
函數(shù)定義:int fclose(FILE *fp);
函數(shù)說明:fp是一個(gè)以打開的文件的文件指針
返回值:
正常返回:0
異常返回:EOF,表示文件在關(guān)閉時(shí)發(fā)生錯(cuò)誤

球分享

球點(diǎn)贊

球在看
