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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

文件操作之按照字符读写文件

發布時間:2025/7/14 编程问答 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 文件操作之按照字符读写文件 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

對學習C語言而言,文件操作屬于橫向學習,而之前的指針屬于縱向學習。所謂橫向學習,就是快速掌握API,了解使用就行,縱向學習則不同,縱向學習需要深入地理解原理。但是在linux系統編程的學習中,文件操作屬于縱向學習,因為在Linux設計哲學中是一切皆文件的思想。

第一個API函數,fopen

第二個API函數,fclose

在打開文件之后,不再操作文件了,都需要將文件流關閉。

eg:先實現創建并寫入文件數據:

#include <stdio.h> #include<stdlib.h> int main() {FILE *fp;const char *filename="F:/mytest/mytext.txt";fp=fopen(filename,"w");char *text="i am a filetest!\r\n";if(fp==NULL){printf("open file failure!");exit(1);}else{while(*text!='\0')fputc(*text++,fp);}fclose(fp);return(0); }

?讀出文件在終端顯示:

#include <stdio.h> #include<stdlib.h> int main() {FILE *fp;const char *filename="F:/mytest/mytext.txt";fp=fopen(filename,"r+");char *text="i am a filetest!\r\n";if(fp==NULL){printf("open file failure!");exit(1);}int ch=getc(fp);while(ch!=EOF){printf("%c",ch);ch=getc(fp);}fclose(fp);return(0); }

讀寫綜合:

#include <stdio.h> #include<stdlib.h> int main() {FILE *fp;const char *filename="F:/mytest/mytext.txt";fp=fopen(filename,"w+");char *text="i am a filetest!\r\n";if(fp==NULL){printf("open file failure!");exit(1);}else{while(*text!='\0')fputc(*text++,fp);}fclose(fp);fp=fopen(filename,"r+");if(fp==NULL){printf("open file failure!");exit(1);}int ch=getc(fp);while(ch!=EOF){printf("%c",ch);ch=getc(fp);}fclose(fp);return(0); }

注意,寫入文件之后,需要關閉文件流,再重新打開讀入終端。在接fgetc的時候,我用的int ch,因為C語言中,char就是int的數值,可以通過sizeof(‘a’)的結果看出,一個字符的sizeof大小為int 的大小。c++中則不再是這樣。注意在指定文件路徑的時候,請使用'/'符號而不是'\'符號,因為左斜杠在Windows和Linux上通用,而且更好用,Windows再設計的時候什么都和Linux反著來,但這里Windows采用'\'表示路徑實為一個紕漏,因為這會和轉義字符混淆,所以使用'\'的時候,上面的路徑要改為F:\\mytest\\mytext.txt 要表示一個'\',在字符串中必須在'\'前再加一個'\'。

?

總結

以上是生活随笔為你收集整理的文件操作之按照字符读写文件的全部內容,希望文章能夠幫你解決所遇到的問題。

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