C 讀寫函式

2021-08-30 21:46:41 字數 2056 閱讀 9490

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 以唯讀許...