檔案操作之2 標準I O庫

2021-06-21 22:02:05 字數 1571 閱讀 9032

在啟動程式時,有三個檔案是自動開啟的,它們是stdin、stdout和stderr。它們都是在stdio.h標頭檔案中定義的,分別代表著標準輸入、標準輸出和標準錯誤輸出,與底層檔案描述符0、1和2相對應。

本節將介紹標準i/o庫中的下列庫函式:

fopen、fclose

fread、fwrite

fflush-

fseek-

fgetc、getc、getchar

fputc、putc、putchar

fgets、gets

printf、fprintf和sprintf

scanf、fscanf和sscanf

1. fopen函式

函式原型:

#include

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

fopen庫函式類似於底層的open系統呼叫。它主要用於檔案和終端的輸入輸出。fopen開啟由filename引數指定的檔案,並把它與乙個檔案流關聯起來。mode引數指定檔案的開啟方式,它取下列字串中的值:

"r"或"rb":以唯讀方式開啟

"w"或"wb":以寫方式開啟,並把檔案長度截斷為零。

"a"或"ab":以寫方式開啟,新內容追加在檔案為為尾。

"r+"或"rb+"或"r+b":以更新方式開啟(讀和寫)

"w+"或"wb+"或"w+b":以更新方式開啟,並把檔案長度截斷為零。

"a"或"ab"或"a+b":以更新方式開啟,新內容追加在檔案為為尾。

字母b表示檔案是乙個二進位制檔案而不是文字檔案。

2. fread函式

函式原型:

#include

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

fread庫函式用於從乙個檔案流裡讀取資料。資料從檔案流strean讀到由ptr指向的資料緩衝區裡。fread和fwrite都是對資料記錄進行操作,size引數指定每個資料記錄的長度,計數器nitems給出要傳輸的記錄的個數。它的返回值是成功讀到緩衝區裡的記錄個數。

3. fwrite函式

函式原型:

#include

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

fwrite庫函式和fread函式有相似的藉口。它從指定的資料緩衝區裡讀出資料記錄,並把它們寫到輸出流中。它的返回值是成功寫入的記錄個數。

4. fclose函式

函式原型:

#include

int fclose(file *stream);

fclose函式關閉指定的檔案流stream,使所有尚未寫出的資料都寫出。

程式例項:

fread.c

#include

int main()

程式執行前test1內容為 zhangxm ,test2中沒有內容。

程式執行後test2中內容為:

zhangxm

^d^h

注:後面的亂碼沒有被解決。

檔案的操作 標準IO庫

fopen 開啟或建立檔案 fread 讀取檔案的資料 fwrite 向檔案寫入資料 fgetc 從檔案中讀乙個字元 fputc 向檔案中寫乙個字元 fscanf 從乙個流中進行格式化輸入 fprintf 格式化輸出乙個流 fseek 定位 getcwd 獲取路徑 fopen原形 file fope...

C 標準庫 IO 操作

c 通過以下幾個類支援檔案的輸入輸出 開啟檔案 open a file 對這些類的乙個物件所做的第乙個操作通常就是將它和乙個真正的檔案聯絡起來,也就是說開啟乙個檔案。被開啟的檔案在程式中由乙個流物件 stream object 來表示 這些類的乙個例項 而對這個流物件所做的任何輸入輸出操作實際就是對...

標準C庫的檔案io操作介面

先讓我們來一起數一下常見的檔案io操作有哪些吧 fopen 開啟檔案 fclose 關閉檔案 fread 從檔案中讀取 fwrite 向檔案中寫入 fprintf 格式化標準寫入 fseek 移動跳轉指定讀取或者寫入位置 開啟 file fopen const char path,const cha...