c語言關於檔案的讀寫,為什麼輸出到檔案上得到亂碼

2021-03-03 22:14:53 字數 940 閱讀 3672

1樓:匿名使用者

windows下,編碼問題也有可能

vc++6.0以上不存在這種可能

gcc編譯器,輸入/出預設utf-8,所以在windows下有問題,新增-finput-charset=gbk -fexec-charset=gbk

也有可能是輸出檔案編碼問題,就是windows的記事本,不支援輸出的檔案的編碼(mac居多),你換一個編輯器看看,比如ultraedit。這個是很正常的,比如你在檔案裡輸出一個換行符時,用記事本開啟輸出檔案,則發現變成空格了,實際是記事本讀不了

2樓:顧_城丶

你把id num也用char定義試試

3樓:緩緩掉落的松針

把fwrite改成fprintf試試。

fprintf(fp,"%d %d %s\n",st[i].id,st[i].num,st[i].name);

c語言這樣寫為什麼輸出到檔案的是亂碼?求指教!

4樓:匿名使用者

真是大哥,我告訴你為什麼因為我也遇到過你用fprintf和fscanf語句進行檔案的讀取和儲存,絕對不會出現這種問題的!!!

5樓:匿名使用者

#include

#include

int main()

while(a != 100000)

fclose(fp);

return 0;}

如下:為什麼c語言讀取檔案中的資料並輸出時有亂碼出現?本來輸入的是數字,然後從檔案中讀取後就變漢字 10

6樓:匿名使用者

估計是你文字的儲存格式問題。重新另存為一份utf-8格式的檔案。utf-8編碼格式中的數字佔用一個位元組。而ansi或其他字元是佔用兩個位元組的。

關於vc6 0 c 檔案讀寫的問題

path 1和path 2為原始檔的路徑 和 目標檔案的路徑 對應的檔案路徑你修改下就ok了。include include include define path 1 d define path 2 d int main file pf1,pf2 char pbuf null pf1 fopen ...

關於檔案操作(C語言)C語言最檔案操作函式

首先,這段程式是通過 輸入檔案路徑及檔名來開啟檔案 filename 10 這個字元型陣列是用來存方輸入的檔案路徑及檔名的 注意,陣列大小為10,因此輸入的路徑和檔名不能超過10個字元 fopen c 函式的兩個引數中第一個引數是檔案的路徑及檔名,第二個是檔案的開啟方式 這裡不多說了 程式中 sca...

C語言為什麼輸出的是7 0啊,C語言 7 0,為什麼

字元 hex dec 0 0x00 0 從數值上說上面三個是相等的 0 0x30 48 請lz注意他們的區別 你可以這樣理解strlen 函式的實現 int strlen char str 定義的x是字元型陣列名,但在c語言中字元型變數可以被賦予整形資料,字串裡遇到結束符0 0 就會結束,不管後面是...