c語言讀取檔案開頭單詞後出現亂碼

2021-04-22 02:20:59 字數 2595 閱讀 3618

1樓:

第一個空格的時候執行printf("%s ",a)這條語句,但是,a[20]沒有初始化,所以就會出現這問題

在while迴圈前面,memset()初始化一下a陣列應該就可以了

2樓:海鵬資料恢復

讀文字bai,我以前也試過du, 這樣可以可以. fgets是讀一行,會在zhi'\n'處停止. 我建議,以整行dao為單位

專,進行讀取.

file *pf = open("測試文字.txt", "rt");

char buf[2048]; //快取弄屬大點

while(fget(buf, 2048, pf))fclose(pf);

c語言讀取txt檔案開頭出現亂碼

3樓:

這是因為你的txt檔案的編碼和編譯器選擇的編碼不一致而導致的。

按你使用的作業系統不同,如果是windows,可以直接用記事本開啟檔案,選擇另存為——編碼——ansi,儲存後重新開啟。

如果是linux,用編輯器開啟檔案後另存為無bom的utf-8格式。一般來說可以解決問題。

解釋一下,在中文的windows系統中,選擇另存為ansi編碼,實際上是儲存為了gbk或類似的、當前win系統最相容的編碼方式。

在linux中,無bom的utf-8格式應該說是最常用最方便的編碼。

4樓:匿名使用者

你的123.txt檔案是utf8格式的檔案,前面三個是utf檔案bof碼0xefbbbf,用記事本開啟該檔案,另存為編碼為ansi檔案就可以了

5樓:匿名使用者

你好!!

程式執行過了,沒有你說的現象,你開啟txt檔案看看,是不是txt檔案有問題

一個關於c語言讀取檔案開頭出現亂碼的問題

6樓:匿名使用者

怎麼寫進去的就怎麼讀,格式一定要保持一致!

最好是把整個工程源**檔案打包,給你看看才能知道具體原因。

7樓:

sizeof(name)會是多少?

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

請問各位大神,c語言呼叫txt檔案中開頭是字母后面是中文以逗號隔開,然後輸出漢字時卻亂碼了。

8樓:砍侃看

把你的源**另存的時候,選擇ansi編碼,然後再編譯執行試試

c語言讀入寫出檔案,寫出檔案時出現個別亂碼。

9樓:匿名使用者

1、c語言標準庫提供了一系列檔案操作函式。檔案操作函式一般以f+單詞的形式來命名(f是file的簡寫),其宣告位於stdio.h標頭檔案當中。

例如:fopen、fclose函式用於檔案開啟與關閉;fscanf、fgets函式用於檔案讀取;fprintf、fputs函式用於檔案寫入;ftell、fseek函式用於檔案操作位置的獲取與設定。

2、例程:

#include

int a;

char b,c[100];

int main()

fscanf(fp1,"%d",&a);//從輸入檔案讀取一個整數b=fgetc(fp1);//從輸入檔案讀取一個字元fgets(c,100,fp1);//從輸入檔案讀取一行字串printf("%ld",ftell(fp1));//輸出fp1指標當前位置相對於檔案首的偏移位元組數

fputs(c,fp2);//向輸出檔案寫入一行字串fputc(b,fp2);//向輸出檔案寫入一個字元fprintf(fp2,"%d",a);//向輸出檔案寫入一個整數fclose(fp1);//關閉輸入檔案

fclose(fp2);//關閉輸出檔案,相當於儲存return 0;}

10樓:金色潛鳥

fread() 和 fwrite() 用於2進位制檔案讀寫。

也就是說,你開啟檔案時,無論讀還是寫 要有選項 b, 例如 "rb","wb".

文字檔案,按2進位制方式開啟,就會按2進位制方法處理。

改正你的 fopen 裡的 選項,就可解決問題。

11樓:

應該是在 fread之後 fwrite之前加上一句話 buffer[isize] = '\0';

出現 屯 的原因,是沒找到結束符.

12樓:匿名使用者

buffer = (char*)malloc(sizeof(char)*( lsize +1)); //修改這一

句zeromemory(buffer ,sizeof(char)*( lsize +1)); //緊隨其後加入這一句

試試看!!

c語言程式讀入到txt文字文件後,顯示為亂碼,請問要怎麼解決呢?

13樓:匿名使用者

編碼問題

可以參照

或者你把檔案另存為另外的編碼

學習程式設計要學會使用搜尋引擎

想用c 讀取檔案。檔案內容如下

很簡單 我來寫 2011 03 01 00 00 00,9001,0011156,92,10,87303291,150262852 2011 03 01 00 00 00,9001,0011156,3,10,87303289,216000651 press any key to continue i...

易語言怎麼讀取檔案中的資料,易語言怎麼讀取txt檔案中的資料

版本 2 區域性變數 文字組,文字型,0 文字組 分割文字 到文字 讀入檔案 文字路徑 換行符,如果真 編輯框1.內容 文字組 1 判斷編輯框是否等於所載入的文字的第一行文字內容 如果真結束 假設在c盤裡有一個名為 test.txt 其路徑為 test.txt 這一個檔案由你自行建立 具體思路是開啟...

C語言,為什麼從檔案中讀取的內容後面有很多亂碼?誰能幫忙解決

你不能既讀到a中,又讀到file1中,只能讀到其中一個變數中.而且char a 5 10 不夠,要增大到與conformation相同,即char a 5 1024 下面修改為只讀到file1中 char a 5 10 fscanf fp,s a 0 fscanf fp,s file1.title ...