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 就會結束,不管後面是...