c介面讀寫檔案

2021-10-25 09:31:54 字數 3310 閱讀 1431

1、開啟檔案

2、讀寫檔案

3、關閉檔案

file * fopen(const char * filename, const char * mode);

功能:開啟檔案

引數:filename:需要開啟的檔名,根據需要加上路徑

mode:開啟檔案的模式設定

返回值:

成功:檔案指標

失敗:null

功能:將ch轉換為unsigned char後寫入stream指定的檔案中

引數:ch:需要寫入檔案的字元

stream:檔案指標

返回值:

成功:成功寫入檔案的字元

失敗:返回-1

#include

int fgetc(file * stream);

功能:從stream指定的檔案中讀取乙個字元

引數:stream:檔案指標

返回值:

成功:返回讀取到的字元

失敗:-1

#include

int fputs(const char * str, file * stream);

功能:將str所指定的字串寫入到stream指定的檔案中,字串結束符 『\0』 不寫入檔案。

引數:str:字串

stream:檔案指標

返回值:

成功:0

失敗:-1

#include

char * fgets(char * str, int size, file * stream);

功能:從stream指定的檔案內讀入字元,儲存到str所指定的記憶體空間,直到出現換行字元、讀到檔案結尾或是已讀了size - 1個字元為止,最後會自動加上字元 『\0』 作為字串結束。

引數:str:字串

size:指定最大讀取字串的長度(size - 1)

stream:檔案指標

返回值:

成功:成功讀取的字串

讀到檔案尾或出錯: null

#include

int fprintf(file * stream, const char * format, …);

功能:根據引數format字串來轉換並格式化資料,然後將結果輸出到stream指定的檔案中,指定出現字串結束符 『\0』 為止。

引數:stream:已經開啟的檔案

format:字串格式,用法和printf()一樣

返回值:

成功:實際寫入檔案的字元個數

失敗:-1

#include

int fscanf(file * stream, const char * format, …);

功能:從stream指定的檔案讀取字串,並根據引數format字串來轉換並格式化資料。

引數:stream:已經開啟的檔案

format:字串格式,用法和scanf()一樣

返回值:

成功:引數數目,成功轉換的值的個數

失敗: - 1

#include

size_t fwrite(const void *ptr, size_t size, size_t nmemb, file *stream);

功能:以資料塊的方式給檔案寫入內容

引數:ptr:準備寫入檔案資料的位址

size: size_t 為 unsigned int型別,此引數指定寫入檔案內容的塊資料大小

nmemb:寫入檔案的塊數,寫入檔案資料總大小為:size * nmemb

stream:已經開啟的檔案指標

返回值:

成功:實際成功寫入檔案資料的塊數目,此值和nmemb相等

失敗:0

#include

size_t fread(void *ptr, size_t size, size_t nmemb, file *stream);

功能:以資料塊的方式從檔案中讀取內容

引數:ptr:存放讀取出來資料的記憶體空間

size: size_t 為 unsigned int型別,此引數指定讀取檔案內容的塊資料大小

nmemb:讀取檔案的塊數,讀取檔案資料總大小為:size * nmemb

stream:已經開啟的檔案指標

返回值:

成功:實際成功讀取到內容的塊數,如果此值比nmemb小,但大於0,說明讀到檔案的結尾。

失敗:0

#include

int fseek(file *stream, long offset, int whence);

功能:移動檔案流(檔案游標)的讀寫位置。

引數:stream:已經開啟的檔案指標

offset:根據whence來移動的位移數(偏移量),可以是正數,也可以負數,如果正數,則相對於whence往右移動,如果是負數,則相對於whence往左移動。如果向前移動的位元組數超過了檔案開頭則出錯返回,如果向後移動的位元組數超過了檔案末尾,再次寫入時將增大檔案尺寸。

whence:其取值如下:

seek_set:從檔案開頭移動offset個位元組

seek_cur:從當前位置移動offset個位元組

seek_end:從檔案末尾移動offset個位元組

返回值:

成功:0

失敗:-1

long ftell(file *stream);

功能:獲取檔案流(檔案游標)的讀寫位置。

引數:stream:已經開啟的檔案指標

返回值:

成功:當前檔案流(檔案游標)的讀寫位置

失敗:-1

void rewind(file *stream);

功能:把檔案流(檔案游標)的讀寫位置移動到檔案開頭。

引數:stream:已經開啟的檔案指標

返回值:

無返回值

#include

int feof(file * stream);

功能:檢測是否讀取到了檔案結尾。判斷的是最後一次「讀操作的內容」,不是當前位置內容。

引數:stream:檔案指標

返回值:

非0值:已經到檔案結尾

0:沒有到檔案結尾

#include

int fclose(file * stream);

功能:關閉先前fopen()開啟的檔案。此動作讓緩衝區的資料寫入檔案中,並釋放系統所提供的檔案資源。

引數:stream:檔案指標

返回值:

成功:0

c 檔案讀寫 文字讀寫

include int main else return 0 格式 intfscanf file stream,constchar format,返回值 如果成功,該函式返回成功匹配和賦值的個數。如果到達檔案末尾或發生讀錯誤,則返回 eof 引數1 file stream 檔案指標 引數2 cons...

C 檔案讀寫

原文 http www.vckbase.com document viewdoc id 1439 原作 john peregrine file i o using c 序論 我曾發表過檔案輸入輸出的文章,現在覺得有必要再寫一點。檔案 i o 在c 中比烤蛋糕簡單多了。在這篇文章裡,我會詳細解釋asc...

C 讀寫檔案

1 使用filestream讀寫檔案 檔案頭 using system using system.collections.generic using system.text using system.io 讀檔案核心 byte bydata new byte 100 char chardata ne...