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

2021-07-22 11:48:02 字數 2880 閱讀 7809

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

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

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

char name[80];

printf("please enter your name");

gets(name);

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

char name[80];

char* ptr;

printf("please enter your name");

ptr=fgets(name,80,stdin);

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

char name1[10];

char name2[10];

printf("please enter 2 name");

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

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

char

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

puts(str);

char

str[100];

while(gets(str))

puts(str);

char

str[100];

while(fgets(str,100,stdin))

fputs(str,stdout);

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

char

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

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

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

int ch;

file* fp;

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

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

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

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

if(fclose(fp)!=0)

printf("error in closing file");

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

2、fprintf、fscanf

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

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

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

puts(a);

3、fgets、fputs

char

str[100];

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

fputs(str,stdout);

har str[100];

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

fputs(str,a);

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);

5、fread、fwrite

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

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

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

file * fp;

double

line

[256];

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

file * fp;

double

line

[256];

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

第乙個例子表示將line中256個double資料寫入fp中;

第二個例子表示將fp中256個double資料讀取,存入line中。

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

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

c c 輸入輸出總結

一般oj會提示只允許用scanf printf及cin cout。這裡還介紹了一些其他的輸入輸出方式。目錄 1.c語言 輸入 scanf 格式,變數 返回讀入變數個數 getchar putchar 字元 gets 陣列名 fgets 輸出 printf 式樣化字串 參量表 返回輸出的字元數 put...

C c 輸入輸出函式

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