a)緩衝檔案系統
緩衝檔案系統的特點是:在記憶體開闢乙個「緩衝區」,為程式中的每乙個檔案使用,當執行讀檔案的操作時,從磁碟檔案將資料先讀入記憶體「緩衝區」, 裝滿後再從記憶體「緩衝區」依此讀入接收的變數。執行寫檔案的操作時,先將資料寫入記憶體「緩衝區」,待記憶體「緩衝區」裝滿後再寫入檔案。由此可以看出,記憶體 「緩衝區」的大小,影響著實際操作外存的次數,記憶體「緩衝區」越大,則操作外存的次數就少,執行速度就快、效率高。一般來說,檔案「緩衝區」的大小隨機器 而定。
fopen, fclose, fread, fwrite, fgetc, fgets, fputc, fputs, freopen, fseek, ftell, rewind等
b)非緩衝檔案系統
緩衝檔案系統是借助檔案結構體指標來對檔案進行管理,通過檔案指標來對檔案進行訪問,既可以讀寫字元、字串、格式化資料,也可以讀寫二進位制數 據。非緩衝檔案系統依賴於作業系統,通過作業系統的功能對檔案進行讀寫,是系統級的輸入輸出,它不設檔案結構體指標,只能讀寫二進位制檔案,但效率高、速度 快,由於ansi標準不再包括非緩衝檔案系統,因此建議大家最好不要選擇它。本書只作簡單介紹。open, close, read, write, getc, getchar, putc, putchar 等。
1. file * fopen(const char * path,const char * mode);
-- path: 檔案路徑,如:"f:\visual stdio 2012\test.txt"
-- mode: 檔案開啟方式,
-- 返回值: 檔案順利開啟後,指向該流的檔案指標就會被返回。如果檔案開啟失敗則返回null,並把錯誤**存在errno中。
b(banary): 二進位制檔案
+: 讀和寫
2. size_t fwrite(const void* buffer, size_t size, size_t count, file* stream);
-- buffer:指向資料塊的指標
-- size:每個資料的大小,單位為byte(例如:sizeof(int)就是4)
-- count:資料個數
-- stream:檔案指標
3. size_t fread(void *buffer, size_t size, size_t count, file *stream);-- buffer:指向資料塊的指標
-- size:每個資料的大小,單位為byte(例如:sizeof(int)就是4)
-- count:資料個數
-- stream:檔案指標
4. int fclose(file * stream);-- 如果流成功關閉,fclose 返回 0,否則返回eof(-1)。
5. int fseek( file *stream, long offset, int origin );--stream為檔案指標
--offset為偏移量,整數表示正向偏移,負數表示負向偏移
---origin設定從檔案的**開始偏移,可能取值為:seek_cur、 seek_end 或 seek_set
seek_set: 檔案開頭
seek_cur: 當前位置
seek_end: 檔案結尾
6. : long ftell(file *fp)--函式功能:得到流式檔案的當前讀寫位置,其返回值是當前讀寫位置偏離檔案頭部的位元組數.
#include #includeusing namespace std;
//獲得檔案的大小
int getfilesize(file *fp)
int main()
} else
/* 讀取檔案,其中fopen("myfile.txt", "r+")中「r+」,控制讀寫及格式
*/ file* fpread = fopen("myfile.txt", "r+");
if (null != fpread) }
else
return 0;
}
C檔案讀寫函式
函式原型 函式原型 file fopen const char path,const char mode file fp fp fopen d a.txt r 是一種轉義字元,他表示乙個 就像 n表示回車一樣,即可用絕對路徑也可用相對路徑mode 字串說明 r以唯讀方式開啟檔案,該檔案必須存在。r ...
C語言 檔案讀寫函式使用
綜合描述按字元,按行,按塊讀寫方式。include include void filecharwrite char ch a for int i 0 i 5 i fclose file write void filecharread 注意此時會體現出feof 的滯後性,最後會將eof識別符號賦予ch...
C語言檔案讀寫常用函式
檔案讀寫 檔案的分類 文字檔案 儲存的是ascii碼的二進位制 2 5 5 二進位制檔案 儲存的是資料的補碼 11111111 檔案io file fopen const char path,const char mode 功能 開啟或者建立檔案 path 檔案路徑 mode 開啟模式 r 以唯讀許...