C語言fprintf最後多輸出點亂碼這是為什麼呢

2021-03-03 22:14:53 字數 1980 閱讀 8326

1樓:匿名使用者

你那個測到的檔案位元組數與實際的的位元組數不相等,實際讀到的小於最先測量的資料,

在輸出時應該按照實際讀取到的來輸出。

你再看看

c語言輸出最後 會多一個亂碼

2樓:風~月

因為你沒有初始化,char a[100]= ;char b[100] = ;這樣子初始化以後就可以了,使用定義了字元陣列後都必須要初始化,因為字元陣列的長度是根據最後一位是不是''\0''決定的,如果沒有初始化就會出現你這種亂碼的問題了

c語言輸出檔案末尾出現多餘的亂碼

3樓:匿名使用者

既然你要以字串的形式輸出 char 陣列,那麼在定義 a 的時候就應該給\0多留一個空。如果你不想留,那麼在輸出的時候,應該以字元的形式 %c 一個一個地輸出。

給字串加\0不是在 fprintf(fout,"%s\0",a); 這個地方加的。要在字串本身,也就是 char a 的最後一個元素裡賦值為 \0 。

4樓:匿名使用者

輸出字串自動會有\0結束,不需要顯示輸出\0的吧。

另外a總共12個字元,都填值了,沒有地方放\0了,宣告為 char a[15]= 吧

5樓:匿名使用者

百分s是全部資料 用for語句遍歷列印吧 或者試試puts函式 或者用fomat函式規定輸出距離

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

6樓:匿名使用者

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

7樓:匿名使用者

#include

#include

int main()

while(a != 100000)

fclose(fp);

return 0;}

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

8樓:匿名使用者

windows下,編碼問題也有可能

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

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

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

9樓:顧_城丶

你把id num也用char定義試試

10樓:緩緩掉落的松針

把fwrite改成fprintf試試。

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

c語言檔案輸出出現亂碼 5

11樓:老猴子不會胖

fflush(stdin);

因為程式裡有多個輸

入的時候,並不是一個輸完另一個再輸入的,

每個輸入語句前,加上此語句,就可以清空之前輸入對下次輸入的影響;

例如printf請輸入第1題: scanf輸入語句printf請輸入第2題: scanf輸入語句printf請輸入第3題:

scanf輸入語句但其實這三個輸入語句並不是在每次輸出語句後面的printf請輸入第1題:fflush(stdin); scanf輸入語句

printf請輸入第2題: fflush(stdin);scanf輸入語句

printf請輸入第3題:fflush(stdin); scanf輸入語句

完美解決

c語言字元輸出,C語言輸入輸出字串

include int main d輸出的是有符號的整數,超過127的數字,在二進位制的最高位就是1了。那麼在後符號數的首位標記正負。如果是1,就是負數了。具體還是看看補碼運演算法則吧 c語言的字元是ascii編碼 標準的ascii碼只到127吧 沒記清楚 大概是這個數 char 的變數存的值太大直...

c語言輸出了,C語言輸出了1IND00是什麼意思

凡是出現 1.ind00.基本可以肯定是發生了除0錯誤。你這複雜的計算,看的人眼暈,自己加些除錯語句查一下吧 一個簡單的c語言程式,輸出 1.ind00.不知道 錯 進行浮點數程式設計時,如果沒有注意,常常會出現輸出類似 1.ind,1.inf 或者 nan,inf 之類奇怪的輸出。這通常隱含了浮點...

C語言字串輸出亂碼,C語言,字串輸出是亂碼

輸出來亂碼是必須的,因為你的數源據型別搞錯了bai,你使用的是字元 du函式zhistringcopy 來拷貝字元 那麼要處理的數dao據當是char型別,然而你所定義的指標應當也是char型別 你應當修改的地方是 int str1,str2 請將int改為char 將你程式中的所有int替換為ch...