fopen_s/_wfopen_s: 開啟檔案
fclose: 關閉檔案
fread: 讀取
fwrite: 寫入
errno_t fopen_s(
file** pfile,
const char *filename,
const char *mode
);
pfile: file指標的位址
filename: 檔案路徑
mode: 開啟模式
"r" : 開啟乙個存在的檔案, 如果不存在,則返回失敗
"w": 開啟乙個檔案, 如果不存在則建立, 存在則清空內容
"a": 開啟乙個檔案並將檔案指標指向檔案末尾, 檔案不存在將建立檔案
"r+": 開啟乙個檔案用於讀/寫, 檔案必須存在.
"w+": 開啟乙個檔案用於寫/讀,檔案不存在則建立
"a+": 開啟乙個檔案用於讀/追加, 文 件不存在則建立.
"b": 以二進位制讀/寫檔案, 如"rb", 'wb"
返回值:
0: 成功,否則就失敗
size_t fread(
void *buffer,
size_t size,
size_t count,
file *stream
);
buffer: 緩衝區指標
size: 緩衝區單位大小,單位為位元組
count: 最大讀取個數
stream: 檔案指標
實際最大讀取的位元組數為:size * count個
返回值:
實際讀取的個數,可能會比count小,使用feof測試是否已經到達了檔案末尾,發生錯誤, 返回0/einval
size_t fwrite(
const void *buffer,
size_t size,
size_t count,
file *stream
);
buffer: 緩衝區位址
size: 緩衝區單位大小,單位為位元組
count: 最大寫入個數
stream: 檔案指標
返回值:
實際寫入的個數,如果比count小, 可能buffer陣列越界, 發生錯誤, 返回0/einval
void testfile()
char buffer[10] = "string";
int nbytewriten = fwrite(buffer, 1, strlen(buffer), pfile);
cout << "成功寫入" << nbytewriten << "個位元組" << endl;
fclose(pfile);
char rdbuffer[10] = ;
fopen_s(&pfile, "test.txt", "rb");
if (null == pfile)
int nbyteread = fread(rdbuffer, 1, 10, pfile);
cout << "成功讀取" << nbyteread << "個位元組: ";
關於FILE指標的使用
語言檔案系統稱為流檔案 stream 正文流 正文檔案 二進位製流 二進位制檔案 一 檔案操作的一般過程 定義檔案指標 file 開啟檔案 fopen 對檔案進行讀寫 二 系統已定義的與檔案操作有關的資料結構全都在stdio.h中 1.file 結構體file fr,fp,fw file 指標作為檔...
FILE 指標的相關操作
file是在c標準庫中 stdio.h 中定義的乙個結構體,通常用指標的方式儲存在記憶體中,其內容描述了乙個檔案,或者說 流 更當。1.開啟檔案 您可以使用 fopen 函式來建立乙個新的檔案或者開啟乙個已有的檔案,這個呼叫會初始化型別 file 的乙個物件,型別 file 包含了所有用來控制流的必...
FILE指標結構,glibc
在glibc中,gdb core除錯,顯示file 指標內容 file寫出現了core檔案 1 可以看到 io write base 錯誤,因此該檔案指標file已經被破壞。所以會出現segment fault錯誤。通常 io write base 與 io read base都指向同一區域。表示當...