file *fopen(const char *path, const char *mode);
功能:開啟檔案
path:檔案的路徑
mode:檔案開啟的方式,以字串形式提供
"r" 以唯讀方式開啟檔案,如果檔案不存在則開啟失敗,返回值為空。
"r+" 在"r"的基礎上增加寫許可權。
"w" 以只寫方式開啟檔案,如果檔案不存在則建立,如果檔案存在則把內容清空。
"w+" 在"w"的基礎上增加讀取許可權。
"a" 以只寫方式開啟檔案,如果檔案不存在則建立,如果檔案存在則把內容保留,與"w"區別是當有新資料寫入,會追加到檔案的末尾。
"a+" 在"a"的基礎上增加讀許可權。
二進位制檔案與文字檔案的區別:
二進位制檔案,把變數的補碼直接寫到檔案中,看不懂。文字檔案,把變數值轉換成字元寫入檔案中,看的懂。文字檔案儲存的也是二進位制,是ascii碼的二進位制。
寫入文字內容:
int fprintf(file *stream, const char *format, …);
功能:把資料以文字形式寫入到檔案中
stream:檔案指標,fopen函式的返回值
format:格式化控制符,佔位符等
...:要寫入的變數。
返回值:成功寫入的變數個數。
int fscanf(file *stream, const char *format, …);
功能:從檔案中讀取資料到變數,要求檔案的內容是字元。
stream:檔案指標,fopen函式的返回值
format:格式化控制符,點位符等
返回值:成功返回讀入的引數的個數,失敗返回-1。
寫入二進位制內容:
size_t fwrite(const void *ptr, size_t size, size_t nmemb,file *stream);
功能:記憶體中的資料,以二進位制形式寫入到檔案中。
size:要寫入的位元組數
nmemb:要寫入的次數
stream:檔案指標,fopen函式的返回值
返回值:成功寫入的次數
size_t fread(void *ptr, size_t size, size_t nmemb, file *stream);
功能:從檔案中以二進位制方式讀取資料到記憶體中。
size:要讀取的位元組數
nmemb:要讀取的次數
stream:檔案指標,fopen函式的返回值
返回值:成功讀取的次數
檔案結構體中有乙個成員記錄檔案的讀寫位置,稱它位檔案位置指標,有些情況下需要調整它的位置,獲取到正確的資料。
int fseek(file *stream, long offset, int whence);
功能:根據基礎位置+偏移值調整檔案指標的位置。
stream:檔案指標,fopen函式的返回值
offset:可以為正負
whence:
seek_set 檔案頭
seek_cur 當前位置
seek_end 檔案尾
long ftell(file *stream);
功能:返回檔案位置指標所在的位置。
void rewind(file *stream);
功能:把檔案位置指標調整到開頭
C語言之檔案操作
fseek 函式 int fseek file stream,long offset,int whence 功能分析 第乙個引數為檔案指標,第二個引數表示偏移量,第三個引數表示從什麼地方開始偏移 返回值為0 表示成功,1表示失敗 whence的數值 seek set 檔案的起始位置 0 seek c...
C語言之檔案相關操作
fopen 作用 以指定方式開啟檔案 file fopen const char path 待開啟的檔案路徑 const char mode 開啟方式,有如下 r 以唯讀方式開啟 w 只寫檔案,若檔案存在則將內容清零重新寫入 若檔案不存在則建立該檔案 w 可讀寫檔案,規則同上 a 以附加的方式開啟只...
C語言之 檔案操作模式
rt 僅僅讀開啟乙個文字檔案。僅僅同意讀資料 wt 僅僅寫開啟或建立乙個文字檔案,僅僅同意寫資料 at 追加開啟乙個文字檔案,並在檔案末尾寫資料 rb 僅僅讀開啟乙個二進位制檔案。僅僅同意讀資料 wb 僅僅寫開啟或建立乙個二進位制檔案。僅僅同意寫資料 ab 追加開啟乙個二進位制檔案,並在檔案末尾寫資...