3 回答

TA貢獻(xiàn)1799條經(jīng)驗(yàn) 獲得超9個(gè)贊
可以使用。
fread和fwrite是C語(yǔ)言中的標(biāo)準(zhǔn)塊讀/寫函數(shù),只負(fù)責(zé)將文件中的數(shù)據(jù)讀入到內(nèi)存,及將內(nèi)存中的數(shù)據(jù)寫入到文件。在這個(gè)過程中,所讀寫的數(shù)據(jù)是文本或是二進(jìn)制均不不會(huì)被函數(shù)所關(guān)心。
所以只要在打開文件時(shí),使用的屬性支持讀或者寫,就可以調(diào)用fread或fwrite執(zhí)行文本文件的輸入輸出操作。

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

TA貢獻(xiàn)1811條經(jīng)驗(yàn) 獲得超4個(gè)贊
fread和fwrite是數(shù)據(jù)塊讀寫
可以用scanf從屏幕輸入數(shù)據(jù),用fwrite將數(shù)據(jù)寫進(jìn)文件
用fread讀取數(shù)據(jù),然后可以用printf將數(shù)據(jù)輸出到屏幕
- 3 回答
- 0 關(guān)注
- 1322 瀏覽
添加回答
舉報(bào)