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 ...