c語言為什麼會出現亂碼,為什麼C語言輸出檔案內容亂碼

時間 2021-09-11 22:33:35

1樓:匿名使用者

應該是二次封裝弄的,防止盜用

2樓:

這個行業一句“一個級別知道一個級別的事”躲藏了很多不為人知的祕密:

你們都知道,我們來到地吃苦的目的就是為了能有今天,就是來掙錢的,所以我就要告訴你們,我們上面

的錢是怎麼分的,怎麼拿的,這也是你們非常關心的一個問題.

為什麼會有這麼多的人想加入這個行業 ?

1.每個平凡的人都有一種想走捷徑發財的思想。

2.每個平凡的人都有一種對金錢巨大的貪丨婪慾望

3.社會的現實,殘酷,金錢的**,社會的**導致人心的扭曲。

4.這個行業就是利用一種比傳統行業人情味濃,大家每天都開開心心,人無私的去幫助別人,還有一種是在傳統行業從來就沒有感受到的氛圍把新人的心裡籠絡住了。

人生是條河,深淺都要過。

你發展到一定階段的時候,你眼巴巴的看到下面的親戚還有之心朋友,一個個都不能發展,但是還有支付外地每天的生活開銷,甚至連一個新朋友來考察的路費都付不起的時候,那時候,你的內心是什麼滋味?你如何面對他們!

資深分析師期待著你交丨流 ?:4==7==0==6==7==6==1==0==1==君富=、、交流、、

為什麼c語言輸出檔案內容亂碼

3樓:匿名使用者

這種文字文來件,不能自直接使用

讀到結構的方法。因為結構裡會有非文字的控制符,比如字串結束符'\0'。

一般使用直接讀到結構的方法,只限於二進位制格式的檔案,並且最好是讀自己建立的檔案,別人建立的,格式剛剛好合適建立結構的也很少。

你這個亂碼,你的檔案裡,學號長度為10個位元組,所以你定義學號這個變數時,必須定義11個位元組的長度,因為字串的變數,必須要有一個'\0'作為結束,不然的話,顯示的時候,沒有結束符就會接著往下顯示,就會有亂碼出現。

如果僅僅是這三行的話,倒也能使用結構來讀,比如結構裡定義num[11],讀完後執行一下num[10] = '\0';給它補一個結束符。但如果有人叫“王老四”,名字有的是2個字,有的是3個字這樣,你這個就不好判斷了。

這種文字,最好是使用fscanf("%s %s %s %s %s", num, name, ***, date, major)的形式來讀取。每次讀取一行。(注意字串定義變數時,長度一定要多加1位)。

4樓:月湖清夢

你把格式存為文字檔案製表符分格試一下呢

c語言寫入檔案為什麼會出現亂碼的現象 10

5樓:金色潛鳥

寫入資料用 fprintf(fp,"%s %s %d 。。。這種方式。不是 fscanf(), 另,注意寫出時的格式裡要有分隔符空格,否內則下次讀檔案時容,字串,數字混在一起無法讀。

允許同時“讀寫”的檔案,要注意讀寫位置的控制,必要時用到 迴繞檔案,或fseek。

6樓:太平洋電腦網

解壓檔案出現中文亂碼怎麼辦解決辦法

7樓:皖

應該是哪一句邏輯有問題

c語言執行程式顯示為什麼有亂碼?

8樓:億華聯眾

你寫**時的編碼不正確,如果有中文有有可能出現亂碼

9樓:匿名使用者

編碼問題,有的編碼不支援中文,在編寫時更改下原始檔的編碼即可,一般都是utf-8編碼。

10樓:小痞子

你在最後的那個函式裡 在沒有輸入之前呼叫了輸出函式printf();

而a和b在為輸入之前 ,裡面的值是不確定的,也就是隨機的

11樓:夜黑黎

可能有漢字

陣列可能超過下標

變數可能沒賦值

12樓:闖蕩翰海

編碼問題:utf-8 和gbk問題

程式出現的錯誤:讀取了未初始化的空間等等。

出現了溢位。

13樓:

應該是你的c++studio那個軟體沒有安裝好吧,換個版本試試。

14樓:

作業系統?什麼編譯器?

規矩是編碼的問題,ansi,utf-8?

c語言檔案輸出時,輸入資料後為什麼會出現亂碼

15樓:吃飽了就撐著

可能是輸入緩衝區之前未清空

使用這個函式將檔案緩衝區清空

memset(buffer,0,sizeof(buffer));

標頭檔案在#include中

16樓:幻夢·人生

fwrite(&stud[i],sizeof(struct studenttype),1,fp)

你這種寫入方式是直接將這個資料的記憶體原封不動的拷貝到檔案當中。

在c語言中,記憶體中的結構體的儲存並不是所有資料連續的。

你可以在網路上搜尋一下結構體的對齊原則。

這種原則是c語言中,結構體儲存結構的原理。

如果你希望能更好的理解。

17樓:匿名使用者

if(fwrite(&stud[i],sizeof(struct studenttype),1,fp)!=1) 簡單看了下,這行有問題,往檔案裡寫的時候是把一個字串寫進去,stud[i]是一個struct,強行把它序列化的話,記憶體中的儲存不是連續的,這樣寫就會寫入一些沒用的資料,導致出錯。考慮一下怎麼把struct序列化,再看看struct的中的位元組是怎麼對齊的,建議而已

18樓:_qq加

fwrite函式儲存資料時整型資料將會儲存為對應的ascii字元

比如48就會被儲存為‘0’

c語言fwrite寫入檔案後為什麼出現亂碼?

19樓:墨汁諾

這個函式以bai二進位制形式對du

檔案進行操作。zhi

按資料定義結構dao的版寫入保持資料結構的長度,對於數值型別,權再用文字方式開啟時表現為亂碼。例如float a=12345.67,寫入檔案後為4個位元組,開啟後不是文字表示的8個位元組。

寫入資料用fprintf(fp,"%s %s %d 這種方式。不是 fscanf(), 另,注意寫出時的格式裡要有分隔符空格,否則下次讀檔案時shu,字串,數字混在一起無法讀。允許同時“讀寫”的檔案,要注意讀寫位置的控制,必要時用到 迴繞檔案,或fseek。

20樓:匿名使用者

fwrite fread是成塊的對二進

制檔案進行讀寫,如以二進方式處理檔案,檔案裡的內容除了字內

符型以asc碼顯示的容你能用記事本開啟時能看明白,其它數值型別都是按其在記憶體裡的二進位制格式儲存的,你現在又以asc碼的形式強制解釋,當然全時亂碼。fwrite寫,就用fread讀,程式不會出問題,效率還高。

21樓:匿名使用者

這個函式bai

以二進位制形式對檔案進行du操作zhi

按資料定義結

構的寫dao入保持資料結構的長度,對內於數容值型別,再用文字方式開啟時表現為

亂碼。例如float a=12345.67,寫入檔案後為4個位元組,開啟後不是文字表示的8個位元組。

22樓:

size_t fwrite(const void* buffer, size_t size, size_t count, file* stream);

注意:這個函式以二進位制形式對檔案進行操作,不侷限於文字檔案返回回值:返回實際答寫入的資料塊數目

(1)buffer:是一個指標,對fwrite來說,是要獲取資料的地址;

(2)size:要寫入內容的單位元組數;

(3)count:要進行寫入size位元組的資料項的個數;

(4)stream:目標檔案指標;

(5)返回實際寫入的資料項個數count。

它寫入的時候是二進位制。所以你是看不了的。

23樓:匿名使用者

因為寫入檔案的是二進位制資料,所以看上去就是亂碼。

c語言,為什麼這個輸出會亂碼? 10

24樓:飄零的狐狸

你定義了字元指標陣列,但是沒有申請空間

c = (char *)malloc(20);//分配得來得20位元組的區域就在堆區。

25樓:匿名使用者

型別不對呀 c是char *型別 %s需要char*型別

26樓:申綠定湃

每次都一樣嗎?

sum好像沒賦初值吧?得到的結果不確定,平均值當然計算不對在這個地方

max=s[0];

maxn=0;

min=s[0];

minn=0;

加一條:

sum=0;ok了

c語言執行的結果後面為什麼出現亂碼

27樓:劉文正粉絲

每個正常的字串的結尾都有一個\0, 而你在迴圈最後只判斷是不是回車, 是回車只是結束輸入, 並沒有把回車變成\0, 或在回車後面加上一個\0, 這樣你的while就無法判斷*fp是不是字串結尾.

28樓:_無憂望月

因為最後的結束沒有'\0',只有‘\n’, 你可以修改while(*fp != '\n'),或者自己在後面新增一個結束標誌

29樓:匿名使用者

在fp = str;前加一句

str[i] = '\0';

c 為什麼s會出現問題,c 問題,為什麼scanf s ,str 這樣是錯的,我定義是string str的

1你輸入和輸出的都是字元 那麼這個陣列肯定要定義成字元型陣列 char str 1 2str 0 是乙個字元型指標 而傳給scanf和printf的引數都應該是位址直接str即可 3初始化的時候,str 1 已經限定了長度是1那麼這時候你再賦值多個字元,程式是不會報錯,且可以執行的但在真正的程式設計...

為什麼c語言總是顯示錯誤警告,為什麼c語言總是顯示一個錯誤0個警告?

gta小雞 這個錯誤是你沒有正確配置vc6的編譯工具路徑,或者你的vc6缺少聯結器程式導致的。最簡單的解決辦法是不要使用vc6.0,這是一個20年前的ide,已經嚴重過時,不相容當前的c c 標準,也不相容windows 7以上的作業系統。換用code blocks或visual studio等現代...

為什麼c語言比較難學,為什麼C語言比較難學? 10

不是啦!c語言入門還是比較容易的,很多人都說c語言是高階語言中的低階語言,是應為它可以直接接觸到底層的東西,如直接讀寫記憶體等,也正因此c語言也是一種很靈活的語言。也許難就難在它的靈活性上吧。 我就學不來,為了學c語言我大學報了補習班,但是2次考試都沒通過。 淡淡的死去 c語言也不是很難學,多看看,...