3 回答

TA貢獻1799條經驗 獲得超9個贊
可以使用。
fread和fwrite是C語言中的標準塊讀/寫函數,只負責將文件中的數據讀入到內存,及將內存中的數據寫入到文件。在這個過程中,所讀寫的數據是文本或是二進制均不不會被函數所關心。
所以只要在打開文件時,使用的屬性支持讀或者寫,就可以調用fread或fwrite執行文本文件的輸入輸出操作。

TA貢獻1796條經驗 獲得超4個贊
當然可以啊。
文本文件本質上仍然是二進制文件,僅僅是它保存的信息是些文本(比如可顯示的ASCII碼,雙字節漢字等等),這樣文本編輯器就可以用“文本方式”查看和編輯內容,而不像二進制那樣的天書一樣的玩意
這段代碼就是把字符串用fwrite寫入文本文件
char* s="ABCD1234";
FILE* pf;
pf=fopen("d:\\111.txt","wb");
fwrite(s,strlen(s),1,pf);
再舉個例子:
向一個文件寫入一個10進制數1145258561,那么用文本方式打開它,文件內容就是ABCD.
long int a=1145258561; //這個數字的16進制是0x444342141,每個字節對應的ASCII碼正好是DCBA, Intel規則是高字節在后
FILE* pf;
pf=fopen("d:\\111.txt","wb");
fwrite(&a,sizeof(a),1,pf);
總之,所有文件都是二進制文件,它里面的數據的具體解釋取決于用什么數據結構寫入的,比如一個mp3文件你用mp3播放器打開那它就會給你唱一曲,你用文本方式打開它那就是些毫無意義的亂碼,因為這個文件寫入的時候是以mp3的數據結構寫入的,而不是文本

TA貢獻1811條經驗 獲得超4個贊
fread和fwrite是數據塊讀寫
可以用scanf從屏幕輸入數據,用fwrite將數據寫進文件
用fread讀取數據,然后可以用printf將數據輸出到屏幕
- 3 回答
- 0 關注
- 1308 瀏覽
添加回答
舉報