日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > c/c++ >内容正文

c/c++

C/C++输入输出函数(I/O)总结

發布時間:2025/6/17 c/c++ 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 C/C++输入输出函数(I/O)总结 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

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

puts遇到空字符是停止,并在字符串結尾添加換行符;經常和gets配合使用。從屏幕讀取一行并顯示在下一行如下所示:

char str[100]; while(gets(str))puts(str);

fputs 不添加換行符,stdout是指輸出到屏幕,經常和fputs一起使用。從屏幕讀取一行并顯示在下一行如下所示:

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) {putchar(ch); }

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(stdout,"cant open \"a\"file.\n");exit(1); }

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)总结的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。