c文件,是程序設(shè)計(jì)中的一個(gè)重要概念。所謂“文件”一般是指存儲(chǔ)在外部介質(zhì)上數(shù)據(jù)的集合。一批文件是以數(shù)據(jù)的形式存放在外部介質(zhì)(如磁盤)上的。操作系統(tǒng)是以文件為單位對(duì)數(shù)據(jù)進(jìn)行管理的,也就是說(shuō),如果想找存在外部介質(zhì)上的數(shù)據(jù),必須先按文件名找到指定的文件,然后再?gòu)脑撐募凶x取數(shù)據(jù)。
從操作系統(tǒng)的角度來(lái)看,每一個(gè)與主機(jī)相連的輸出輸入設(shè)備都看作是一個(gè)文件。
在程序運(yùn)行時(shí),常常需要將一些數(shù)據(jù)(運(yùn)行的最終結(jié)果或中間數(shù)據(jù))輸出到磁盤上存放起來(lái),以后需要時(shí)再?gòu)拇疟P中輸入到計(jì)算機(jī)的內(nèi)存。這就要用到磁盤文件。
c語(yǔ)言將文件看作是一個(gè)字符(字節(jié))的序列,即一個(gè)一個(gè)字符(字節(jié))的數(shù)據(jù)順序組成。根據(jù)數(shù)據(jù)的組成形式,可分為ascii文件和二進(jìn)制文件。ascii文件又稱文本(text)文件,它的每一個(gè)字節(jié)可放一個(gè)ascii碼,代表一個(gè)字符。二進(jìn)制文件是把內(nèi)存中的數(shù)據(jù)按其在內(nèi)存中的存儲(chǔ)形式按原樣輸出到磁盤上存放。因而一個(gè)c文件就是一個(gè)字節(jié)流或二進(jìn)制流。它把數(shù)據(jù)看作是一連串的字符(字節(jié)),而不考慮記錄的界限。換句話說(shuō),c語(yǔ)言中文件不是由記錄(record)組成的(這是和pascal或其他高級(jí)語(yǔ)言不同的)。在c語(yǔ)言中對(duì)文件的存取是以字符(字節(jié))為單位的。輸出輸入的數(shù)據(jù)流的開始和結(jié)束僅受程序控制而不受物理符號(hào)(如回車換行符)控制。也就是說(shuō),在輸出時(shí)不會(huì)自動(dòng)增加回車換行符作為記錄結(jié)束的標(biāo)志,輸入時(shí)不以回車換行符作為記錄的間隔(事實(shí)上c文件并不是由記錄構(gòu)成的)。把這種文件稱為流式文件。c語(yǔ)言允許對(duì)文件存取一個(gè)字符,這就增加了處理的靈活性。