C C 輸入輸出函式(I O) c 庫函式

2021-10-23 00:02:42 字數 2563 閱讀 1908

在c語言的學習使用過程中,除了格式化輸入輸出外,還有很多輸入輸出函式,包括字串輸入輸出、檔案輸入輸出等。在使用的過程中一直沒有認真總結過,在這裡把以前學的好好總結一下,以便時間長了又忘記了。

字串輸入輸出

1、輸入函式:gets、fgets、scanf

gets 遇到換行符時結束,不讀取換行符,自動在字串後面加上空字元(/0); 返回值是指向char的指標(和傳遞給他的是同乙個指標),到結尾時返回空指標。

char name[80];

printf("please enter your name");

gets(name);123

fgets 遇到換行符或者到最多讀入字元處結束,並把換行符儲存到檔案中。第二個引數說明最大讀入字元數,stdio指從鍵盤上讀取。

char name[80];

char* ptr;

printf("please enter your name");

ptr=fgets(name,80,stdin);1234

scanf 返回乙個整數值,表示成功讀取的專案數,遇到檔案結尾時返回乙個 eof。

char name1[10];

char name2[10];

printf("please enter 2 name");

scanf("%5s %10s",name1,name2);1234

2、輸出函式:puts、fputs 、printf

char str[100]=" i'm a chinese, i love my hometown.";

puts(str);12

char str[100];

while(gets(str))

puts(str);123

char str[100];

while(fgets(str,100,stdin))

fputs(str,stdout);

1234

printf 輸出比較麻煩,而且計算機執行時間比較長,但是在一行中輸出多個字串時候比較簡單。

char str[100]=" i'm a chinese, i love my hometown.";

printf("%s\n",str);12

printf("%s,%s\n",name,id);1

檔案輸入輸出

1、fopen、fclose

int ch;

file* fp;

fp=fopen("a.txt","r");

while((ch=getc(fp)!=null)

1234567

fopen 返回乙個 file 檔案指標,第乙個引數表示要讀取的檔名,也可以在前面加上檔案路徑,第二個引數辨識讀取模式,通常包括: 

「r」唯讀,「w」只寫,,」a「向檔案末尾寫,等。

if(fclose(fp)!=0)

printf("error in closing file");12

fclose 檔案成功關閉,返回0,否則,返回eof。

2、fprintf、fscanf

if ((fp=fopen("a","r+"))==null)

12345

fprintf、fscanf 和 printf、scanf 相似,只是要指定合適的檔案。

while(fscanf(fp,"%s","a")==1)

puts(a);12

3、fgets、fputs

char str[100];

while (fgets(str,100,stdin)!=null && str[0]!='\n'

fputs(str,stdout);123

har str[100];

while (fgets(str,100,a)!=null && str[0]!='\n'

fputs(str,a);123

a為檔名。fgets保留了輸入中的換行符,fputs 不會自動新增換行符。

4、fseek、ftell

fseek 第乙個引數是檔案指標,第二個引數是偏移量,第三個引數是起始點位置,可以是 seek_set 、seek_cur、 seek_end,表示檔案開始,當前位置,檔案結尾。ftell 返回檔案的當前位置。

file * fp;

long last;

fseek(fp,0l,seek_end);

last=ftell(fp);

12345

5、fread、fwrite

fread、fwrite 用於位二進位制檔案的讀取; 

fwrite 第乙個引數表示資料的**,第二個引數表示每個物件的大小,對三個引數表示物件的大小,第四個引數表示要寫入的檔案。 

fread  第乙個引數表示讀取資料的儲存位置,第二個引數表示每個物件的大小,對三個引數表示物件的大小,第四個引數表示要讀取的檔案。

file * fp;

double line[256];

fwrite(line,sizeof(double),256,fp)123

file * fp;

double line[256];

fread(line,sizeof(double),256,fp)123

C c 輸入輸出函式

最全輸入函式 c c 一 c getchar 功能 讀入乙個字元 說明 呼叫此函式時要求在程式的第一行有預編譯命令 include,不過在做c 時 有 include也夠了。變數c獲得乙個從標準裝置上讀取的字元 值。當從鍵 盤上輸入 z 即ctrl和z鍵同時按下 時,c得到的值是 1,z稱檔案結尾,...

C C 輸入輸出函式(I O)總結

在c語言的學習使用過程中,除了格式化輸入輸出外,還有很多輸入輸出函式,包括字串輸入輸出 檔案輸入輸出等。在使用的過程中一直沒有認真總結過,在這裡把以前學的好好總結一下,以便時間長了又忘記了。1 輸入函式 gets fgets scanf gets 遇到換行符時結束,不讀取換行符,自動在字串後面加上空...

C C 輸入輸出函式(I O)總結

1 輸入函式 gets fgets scanf gets 遇到換行符時結束,不讀取換行符,自動在字串後面加上空字元 0 返回值是指向char的指標 和傳遞給他的是同乙個指標 到結尾時返回空指標。char name 80 printf please enter your name gets name ...