本來要寫文字通訊錄的,但是發現好多函式都忘記了,就查了些並記錄下來,希望對你有用。本來順手準備手動筆芯的,發現太娘了,就不寫了。
首先,要了解檔案輸入輸出,我們要知道什麼是流?
可以想象水從水管裡出來,這就是一股水流。就c程式而言,所有的i/o操作就是簡單的從程式移進、移出位元組的事情,因此這種位元組流被稱為流 。
流被分為兩種: 文字流和二進位製流 。
相較於gets,puts函式,fgets和fputs函式指明了檔案源和目標,是格式化函式
char * gets ( char * str );在c程式中讀寫檔案,必須有file*型別的檔案(指標),file*是檔案的控制代碼。int puts ( const char * str );
char * fgets ( char * str, int num, file * stream );
int fputs ( const char * str, file * stream );
開啟流:函式原型:file * fopen ( const char * path, const char * mode );fseek的用途:控制件指標偏移。函式引數:path:要開啟檔案的路徑,mode:開啟的模式,返回值:呼叫成功時返回 檔案流指標,呼叫失敗時返回 null
mode引數可以是以下引數中的乙個:
r:唯讀模式;要求檔案必須存在
w:只寫模式;檔案存在則將檔案內容清零,檔案不存在則建立
r+:讀寫模式;要求檔案必須存在
w+:讀寫模式;檔案存在則將檔案內容清零,檔案不存在則建立
a:追加只寫模式;檔案不存在則建立,檔案存在內容也不清零
a+:追加讀寫模式;檔案不存在則建立,檔案存在內容也不清零
關閉流:函式原型:int fclose( file *fp );
功能是關閉乙個流,要和fopen配套使用哦。
函式原型:int fseek(file *stream, long offset, int fromwhere)rewind:是將檔案內部的指標重新指向乙個流的開頭引數1是檔案流指標,引數2是偏移量大小,引數3是偏移模式,通常為:seek_cur(檔案當前位置) seek_set(檔案開頭) seek_end(檔案結尾)
long ftell(file * stream);函式 ftell 用於得到檔案位置指標當前位置相對於檔案首的偏移位元組數。fread:它從檔案流中讀資料,最多讀取count個項,每個項size個位元組。
size_t fread ( void *buffer, size_t size, size_t count, file *stream)fwrite:向指定的檔案中寫入若干資料塊1. buffer:用於接收資料的記憶體位址
2. size:要讀的每個資料項的位元組數,單位是位元組
3. count:要讀count個資料項,每個資料項size個位元組.
4. stream:輸入流
5. 如果呼叫成功返回實際讀取到的項個數(小於或等於count),如果不成功或讀到檔案末尾返回 0。
size_t fwrite(const void* buffer, size_t size, size_t count, file* stream);feof是c語言標準庫函式,其原型在stdio.h中,其功能是檢測流上的檔案結束符,如果檔案結束,則返回非0值,否則返回0,檔案結束符只能被clearerr()清除。(1)buffer:是乙個指標,對fwrite來說,是要獲取資料的位址;
(2)size:要寫入內容的單位元組數;
(3)count:要進行寫入size位元組的資料項的個數;
(4)stream:寫入的目標檔案指標;
(5)返回實際寫入的資料項個數count。
注意:feof判斷檔案結束是通過讀取函式fread/fscanf等返回錯誤來識別的,故而判斷檔案是否結束應該是在讀取函式之後進行判斷。比如,在while迴圈讀取乙個檔案時,如果是在讀取函式之前進行判斷,則如果檔案最後一行是空白行,可能會造成記憶體錯誤。
輸入輸出函式(一)
格式化輸入函式 scanf 注意 scanf函式有返回值,且為整形。scanf函式雖然使用起來比較簡單,但是使用不當會造成錯誤。scanf函式自動停止的三種情況 1.遇到空格,回車,或tab鍵 2.遇到指定的寬度 比如 2d 3.遇到非法字元。格式化輸出函式 printf 函式原型 int prin...
一 輸入 輸出函式
一 輸出函式print 語法 print value1,value2,sep end n sep 代表多個輸出結果的分隔符 end 預設換行符,也可以通過輸入其他符合拼接 注意 1 輸出函式中可以輸入單個或者多個,不分資料型別 2 print會依次輸出每個字串,當遇到 用 空格 來表示 print ...
輸入 輸出函式
perror函式以一種簡單 統一的方式報告錯誤資訊。例如,如果乙個程式試圖從乙個並不存在的磁碟檔案讀取資料,作業系統除了提出發生了錯誤之外就沒有什麼好做的了。標準庫函式在乙個外部整形變數errno中保留錯誤 之後就把這個資訊傳遞給使用者程式,提示操作失敗的準確原因。void perror char ...