文件操作之按照字符读写文件
生活随笔
收集整理的這篇文章主要介紹了
文件操作之按照字符读写文件
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
對學習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 要表示一個'\',在字符串中必須在'\'前再加一個'\'。
?
總結
以上是生活随笔為你收集整理的文件操作之按照字符读写文件的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 测试一下标签
- 下一篇: HBase应用快速学习