在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 ...