C語言檔案操作

2021-09-19 03:03:46 字數 3263 閱讀 5403

程式為什麼需要檔案?

1>配置

unix採用文字 windows採用登錄檔二進位制檔案

2>**資料

存檔在二進位制檔案中

還有很多用處

首先以標準的輸入輸出談起~ 

(1)格式輸入輸出

printf("%[flag][width][.prec][hll]type");

1>

flag 含義

- 左對齊

+ 允許顯示正號

0 0填充

舉例:

int main()

螢幕上列印為

--------------------------

123+123

-123

-123

--------------------------

2>

width或prec               含義

number               最小字元數

*                  下乙個引數是字元數

.number          小數點後保留幾位

.*            下乙個引數是小數點後的位數

舉例:a = 123.4512;

printf("9.2%d",a);

printf("",a);

//9代表至少有九個字元,2後面保留的小數數字

螢幕上列印為

--------------------------

123.45

3>hll修飾符

hh 單個位元組

h short

l long

ll long long

l long double

4>type

顯示型別

%d 整數型別

%f float

%o 八進位制

%x 十六進製制

e 指數

n 輸入輸出的個數

例如printf("%nd",1234,&num) //num儲存了輸出的個數,在這個例子中是4

hh char

h short

l long double

(2)檔案的操作

1>檔案的開啟與建立

用到fopen函式,先看乙個例子

file *fp = fopen("12.in","r");

if(fp)

else

file *fopen(char *pname,char *mode)

上述為函式原型,入口引數如下所示

pname:是乙個字元指標,它將指向要開啟或建立的檔案的檔名字串。

mode:是乙個指向檔案處理方式字串的字元指標。所有可能的檔案處理方式如下所示

----------------------------------

r 開啟唯讀

r+ 開啟讀寫,從檔案開頭開始

w 開啟只寫,檔案不存在則新建,如果存在則清空

w+ 開啟讀寫,檔案不存在則新建,如果存在則清空

a 開啟追加

..x 只新建,如果已經存在則無法開啟

返回值為狀態:

正常返回:被開啟檔案的檔案指標。

異常返回:null,表示開啟操作不成功。

總結一下

開啟檔案的作用是:

(1)分配給開啟檔案乙個file 型別的檔案結構體變數,並將有關資訊填入檔案結構體變數;

(2)開闢乙個緩衝區;

(3)呼叫作業系統提供的開啟檔案或建立新檔案功能,開啟或建立指定檔案;

2>檔案的關閉

檔案的關閉簡單,就是利用fclose函式

int fclose(file *fp);

入口引數為檔案指標,返回值為狀態(正常為0,錯誤為eof)

3>檔案的讀寫操作

檔案的讀寫有多種函式。

舉乙個例子,格式化讀寫。

格式化寫

1.函式原型

int fprintf(file *fp,char *format,arg_list)

2.功能說明

將變數表列(arg_list)中的資料,按照format指出的格式,寫入由fp指定的檔案。fprintf()函式與printf()函式的功能相同,只是printf()函式是將資料寫入螢幕檔案(stdout)。

3.入口引數說明

fp:這是個檔案指標,指出要將資料寫入的檔案。

format:這是個指向字串的字元指標,字串中含有要寫出資料的格式,所以該字串成為格式串。格式串描述的規則與printf()函式中的格式串相同。

arg_list:是要寫入檔案的變數表列,各變數之間用逗號分隔。

void

main()

fscanf(stdin,

"%s %d %d %ld

",name,&nclass,&nage,&number);

fprintf(fp,

"%s %5d %4d %8ld

",name,nclass,nage,number);

fclose(fp);

if((fp=fopen("

student.txt

","r

"))==null)

fscanf(fp,

"%s %d %d %ld

",name,&nclass,&nage,&number);

printf(

"name nclass nage number\n");

fprintf(stdout,

"%-10s%-8d%-6d%-8ld\n

",name,nclass,nage,number);

fclose(fp);

}

下面一篇文章對檔案讀寫做出詳細說明

posted @

2016-01-29 20:41

#cloud 閱讀(

...)

編輯收藏

c語言檔案操作

rt null ch fgetc fp while ch eof fclose fp 本 例程式的功能是從檔案中逐個讀取字元,在螢幕上顯示。程式定義了檔案指標fp,以讀文字檔案方式開啟檔案 d jrzh example ex1 1.c 並使fp指向該檔案。如開啟檔案出錯,給出提示並退出程式。程式第1...

C語言檔案操作

1.首先要理解幾個概念 檔案 按一定規則儲存在磁碟上的資料集合。檔名 能唯一標識某個磁碟檔案的字串。形式 碟符 路徑 檔名.副檔名 二進位制檔案 資料以二進位制形式在儲存在磁碟上。裝置檔案 輸入 輸出裝置 標準輸入檔案 鍵盤 標準輸出檔案 標準錯誤輸出檔案 顯示器 檔案型指標 c語言是通過名為fil...

C語言檔案操作

1,兩種檔案訪問方式 輸入,輸出方式 順序訪問 直接訪問 2,資料的兩種存放形式 文字檔案 二進位制檔案 3.檔案指標 定義檔案型別指標變數的一般形式 file 指標變數名 例如 file fp1,fp2 4.開啟檔案 在使用檔案之前,需開啟檔案.在c裡使用fopen函式開啟檔案.格式為 fopen...