1樓:滄海雄風
abcdefghijklmnopqrstuvwxyzpress any key to continue#include
#include
int main()
; // 問題
一 長度
不夠 問題二 沒有初始化
if((fp=fopen("字串.dat","r"))==null)
fread(str,1,27,fp); //問題三 是fread 不是 fwrite 問題四版
權 注意長度 27
printf("%s\n",str);
fclose(fp);
return 0;}
2樓:匿名使用者
char str[26];
if((fp=fopen("字串.dat","r"))==null)
fwrite(str,1,26,fp);fputs("\n",fp);
str的初值在哪
呢,你要寫什麼進去呢,可不就是亂碼內了
你到底是讀還是寫fopen("字串.dat","r") 以讀方容式開啟
後面又是寫fwrite(str,1,26,fp);fputs("\n",fp);
3樓:
//後一個程式的
fwrite(str,1,26,fp);fputs("\n",fp); //這是寫,不是讀。
//改為
fread(str,1,26,fp);fputs("\n",fp);
c語言中,為什麼呼叫檔案內的資料會出現亂碼
4樓:風雷雪電
先確認一下檔案是二進位制存的嗎?如果是,用記事本開啟它,應該是看不到數字的。不是說在記事本里輸入字元1 2 3 4,然後儲存成number.dat,程式就能正確讀取的。
二進位制讀取的時候fopen要寫成
fp=fopen("number.dat","rb");
rb表示binary:二進位制讀寫。
c語言關於檔案的讀寫,為什麼輸出到檔案上得到亂碼
5樓:匿名使用者
windows下,編碼問題也有可能
vc++6.0以上不存在這種可能
gcc編譯器,輸入/出預設utf-8,所以在windows下有問題,新增-finput-charset=gbk -fexec-charset=gbk
也有可能是輸出檔案編碼問題,就是windows的記事本,不支援輸出的檔案的編碼(mac居多),你換一個編輯器看看,比如ultraedit。這個是很正常的,比如你在檔案裡輸出一個換行符時,用記事本開啟輸出檔案,則發現變成空格了,實際是記事本讀不了
6樓:顧_城丶
你把id num也用char定義試試
c語言寫入檔案為什麼會出現亂碼的現象 10
7樓:金色潛鳥
寫入資料用 fprintf(fp,"%s %s %d 。。。這種方式。不是 fscanf(), 另,注意寫出時的格式裡要有分隔符空格,否內則下次讀檔案時容,字串,數字混在一起無法讀。
允許同時「讀寫」的檔案,要注意讀寫位置的控制,必要時用到 迴繞檔案,或fseek。
8樓:太平洋電腦網
解壓檔案出現中文亂碼怎麼辦解決辦法
9樓:皖
應該是哪一句邏輯有問題
c語言這樣寫為什麼輸出到檔案的是亂碼?求指教!
10樓:匿名使用者
真是大哥,我告訴你為什麼因為我也遇到過你用fprintf和fscanf語句進行檔案的讀取和儲存,絕對不會出現這種問題的!!!
11樓:匿名使用者
#include
#include
int main()
while(a != 100000)
fclose(fp);
return 0;}
為什麼c語言輸出檔案內容亂碼
12樓:匿名使用者
這種文字文來件,不能自直接使用
讀到結構的方法。因為結構裡會有非文字的控制符,比如字串結束符'\0'。
一般使用直接讀到結構的方法,只限於二進位制格式的檔案,並且最好是讀自己建立的檔案,別人建立的,格式剛剛好合適建立結構的也很少。
你這個亂碼,你的檔案裡,學號長度為10個位元組,所以你定義學號這個變數時,必須定義11個位元組的長度,因為字串的變數,必須要有一個'\0'作為結束,不然的話,顯示的時候,沒有結束符就會接著往下顯示,就會有亂碼出現。
如果僅僅是這三行的話,倒也能使用結構來讀,比如結構裡定義num[11],讀完後執行一下num[10] = '\0';給它補一個結束符。但如果有人叫「王老四」,名字有的是2個字,有的是3個字這樣,你這個就不好判斷了。
這種文字,最好是使用fscanf("%s %s %s %s %s", num, name, ***, date, major)的形式來讀取。每次讀取一行。(注意字串定義變數時,長度一定要多加1位)。
13樓:月湖清夢
你把格式存為文字檔案製表符分格試一下呢
C語言檔案讀寫問題,在檔案裡隨便寫字串,為什麼讀出來之後是亂碼
我表示今天同樣的問題,最後發現是檔案流中的偏移量的問題。造成的。呼叫fseek 將偏移量弄到檔案開頭,就成了 沒加結束符卻當作字串用!亂碼已經是最好的結果了!read,只是讀出一定數量的資料,並沒有義務給你的資料加字串結束符!c語言關於檔案的讀寫,為什麼輸出到檔案上得到亂碼 windows下,編碼問...
怎麼用c語言寫拷貝檔案,要求用readir和write
lz 你好 檔案的讀取和寫入應該是 fread void buffer,size t size,size t count,file stream fwrite const void buffer,size t size,size t count,file stream 我只講解fread的四個引數 ...
c語言如何在工程裡建立多個檔案?內詳
一個工程只能有一個main函式,但可以有多個檔案例如main.c定義 include stdio.h void main void 在另一個檔案file2.c裡再定義一些函式void fun1 void fun2 然後把這兩個檔案都包涵到工程裡去一起編譯就可以了。如果你要從main函式裡呼叫file...