c語言讀取檔案資料亂碼,為什麼C語言輸出檔案內容亂碼

2025-05-23 19:25:08 字數 2280 閱讀 5622

1樓:蔡晏靜隋化

把開啟方式改為。

r"以及把讀取資訊用fscanf吧,因為如果你是原先先把寫好,然後再用你的程式開啟它的話,由於裡面有換行符以及空格侍乎等內容,除非開始你是用fwrite函式寫入的結構資訊,否則fread會備談消把這些都作為資訊讀取的(也就是說它讀到乙個struct

student_type大小的資料就結束,而不管這裡面仿知到底存放的是什麼,這個過程中讀到的可能不是乙個完整的結構的資料),所以就會出現你所說的亂碼。

2樓:經潔玉慕若

原因很簡單:把while(!feof(fp))中的!feof(fp)改成1,然後在fscanf那一句後面加一句if(feof(fp))

break;就可以了。因為feof這個函式要在邏輯上緊跟在「讀操作」語句後才能正確生效,而你的寫法在第一次進入while時還沒有讀檔案,feof(fp)判斷物橘什麼?就是這裡造成了鎮胡最後檔案越界罩旅團了還當作正常資料在處理,當然就是亂碼了……還有個寫法就是把fscanf也寫在while的()中,用逗號分開再寫!

feof(fp),while的體裡就不再寫fscanf了。這樣邏輯很**。不過你的fscanf語句太長,寫在()中不好看。

有興趣你可以試一下。

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

3樓:月湖清夢

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

為什麼 資料庫提取中文是亂碼?

4樓:sql的藝術

從後臺讀取資料時,通常會出現亂碼情況,比如「漢字」變成「?」等,造成這種情況的原因通常是編碼設定不對,解決方法如下:

第一種方法:在php中新增如下**,將編碼格式設為「utf-8」,**如下:

header("content-type: text/html; charset=utf-8");

第二種方法:在php中新增另外一行**,同樣用來轉碼,**如下:

conn = mysqli_connect($servername, $username, $password, $mysqlname);

conn->query("set names utf8");

該種情況是先建立鏈結,之後再轉碼。

另外,在使用資料庫時,直接手動(非**)建表,通常會在表中輸入漢字時,瀏覽時無法顯示或顯示為「?」造成這種情況的原因也是編碼問題,解決方案如下:

在建表或建庫時,表和庫的編碼格式一定要統一,設定成:「utf8_general_ci」,如下圖:

5樓:落楓逢櫻

資料庫提取中文是亂碼,那就是你的電腦中了病毒。所以要清理防毒一下。aqui te amo。

6樓:太平洋電腦網

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

為什麼 資料庫提取中文是亂碼

7樓:有君容小潔

從後臺讀取資料時,通常會出現亂碼情況,比如「漢字」變成「?」等,造成這種情況扒殲的原因通常是編碼設定不對,解決方法如下:

第一種方法:在php中新增如下**,將編碼格式設為「utf-8」,**如下:

header("content-type: text/html; charset=utf-8");

第二種方法:在php中新增另外一行**,同樣用來轉碼,**如下:

conn = mysqli_connect($servername, $username, $password, $mysqlname);

conn->query("set names utf8");

該種情況是先建立鏈結,之後再轉碼。

另外,在使用資料庫時,直接手動(非**)建春耐衝表,畝畝通常會在表中輸入漢字時,瀏覽時無法顯示或顯示為「?」造成這種情況的原因也是編碼問題,解決方案如下:

在建表或建庫時,表和庫的編碼格式一定要統一,設定成:「utf8_general_ci」,如下圖:

c語言讀取檔案出現錯誤,讀取了兩遍而且有亂碼是什麼情況

8樓:自我程式設計

程式執行兩邊,復肯定是**制問題。

資料對計算機bai而言就是2進位,你看du亂碼說明顯示zhi的時候沒有對應字元dao集,你把原檔案開啟看有亂碼沒。

或者你檔案有中文,你試試用全部英文和數字的檔案讀取。

另外,檔案有格式的話,你換fscanf和fprintf看看。

c語言讀取檔案資料亂碼,c語言讀取txt檔案資料時最後有一串亂碼怎麼辦

參考 如下 include include include int main return 0 把開啟方式改為 r 以及把讀取資訊用fscanf吧,因為如果你是原先先把kk.txt寫好,然後再用你的程式開啟它的話,由於裡面有換行符以及空格等內容,除非開始你是用fwrite函式寫入的結構資訊,否則fr...

c語言 讀取檔案時 除正常資料外 還有些亂碼

必須確保這個檔案一定是用fwrite 函式寫入的,而且讀寫格式一定相同,即寫入語句是 fwrite void student,sizeof student 1l,fp 檔案末尾檢測出問題。在c語言中檔案讀取操作時不能完全依賴於 while feof fp 的判斷 建議檢測讀出的資料,或用fgetc判...

c讀取檔案中特定內容後的資料c讀取txt檔案中特定內容後的資料

static void main string args 你就不會把e改為de或者ce嗎?還有另外一段 給你參考,希望你能舉一反三,直接給出答案多沒意思 console.writeline 請輸入一個英文句子 string s console.readline 讀取資料 把這個句子以 分隔開,存到陣...