1樓:匿名使用者
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;}
2樓:金色潛鳥
fread() 和 fwrite() 用於2進位制檔案讀寫。
也就是說,你開啟檔案時,無論讀還是寫 要有選項 b, 例如 "rb","wb".
文字檔案,按2進位制方式開啟,就會按2進位制方法處理。
改正你的 fopen 裡的 選項,就可解決問題。
3樓:
應該是在 fread之後 fwrite之前加上一句話 buffer[isize] = '\0';
出現 屯 的原因,是沒找到結束符.
4樓:匿名使用者
buffer = (char*)malloc(sizeof(char)*( lsize +1)); //修改這一
句zeromemory(buffer ,sizeof(char)*( lsize +1)); //緊隨其後加入這一句
試試看!!
c語言讀取檔案出現錯誤,讀取了兩遍而且有亂碼是什麼情況
5樓:自我程式設計
程式執行兩邊,復肯定是**制問題。
資料對計算機bai而言就是2進位制,你看du亂碼說明顯示zhi的時候沒有對應字元dao集,你把原檔案開啟看有亂碼沒。
或者你檔案有中文,你試試用全部英文和數字的檔案讀取。
另外,檔案有格式的話,你換fscanf和fprintf看看。
c語言,資料能寫入檔案,但是從檔案讀取資料的時候,出現了亂碼,如下**,求解答
6樓:濸海月明
在寫檔案部分的for迴圈裡做如下修改:(已編譯執行,成功)
for(i = 0; i < size; i++)
7樓:匿名使用者
逗號被當成name的一部分讀取了……建議還是用空格分開各項輸入吧,不要用逗號了……
一個關於c語言讀取檔案開頭出現亂碼的問題
8樓:匿名使用者
怎麼寫進去的就怎麼讀,格式一定要保持一致!
最好是把整個工程源**檔案打包,給你看看才能知道具體原因。
9樓:
sizeof(name)會是多少?
c語言檔案操作讀取亂碼
10樓:匿名使用者
你的**想實現什麼功能呢?
從寫法上,看不出來想做什麼。
先寫了一個字元,然後讀下一個字元,一直讀到檔案尾,這樣自然是檔案裡面有什麼 就會顯示什麼了。
除了第一個字元是a外,後面的 都是檔案裡面本來的內容。
11樓:風雷雪電
錯誤一:沒有「wr」這種模式,如果既要讀,又要寫,那麼可以用」w+「。
錯誤二:雖然w+的檔案既允許讀,又允許寫,但讀和寫之間至少有一個移動檔案指標的函式:fseek,哪怕移動0格,也必須要用fseek函式。(參考文獻:c primer 第五版)
警告三:要確定作業系統為你的程式開放了c盤根目錄直接建立、修改檔案的訪問許可權。
參考程式:
void main()
fputc('a',fp);
fseek(fp,-1,seek_cur);
ch=fgetc(fp);
while(ch!=eof)
fclose(fp);
}fseek第二個引數是偏移量,-1表示往前挪一格。
fseek第三個引數是偏移位置,seek_cur是從當前處開始,seek_set是從檔案開頭開始,seek_end是從檔案末尾開始。
c語言中,為什麼呼叫檔案內的資料會出現亂碼
12樓:風雷雪電
先確認一下檔案是二進位制存的嗎?如果是,用記事本開啟它,應該是看不到數字的。不是說在記事本里輸入字元1 2 3 4,然後儲存成number.dat,程式就能正確讀取的。
二進位制讀取的時候fopen要寫成
fp=fopen("number.dat","rb");
rb表示binary:二進位制讀寫。
c語言讀取txt檔案資料時最後有一串亂碼怎麼辦
linux shell怎麼歸類出檔名類似的檔案
ls1 1 1 1 1 1 1 1 1 2 1 1 3 1 1 4 1 ae 2 1 1 2 1 2 2 1 3 2 1 4 2 2 1 2 2 2 3 1 2 3 1 3 a 1 af a d 1 adgfa ls grep 0 9 0 9 0 9 1 1 1 1 1 2 1 1 3 1 1 4 ...
怎樣列印出資料夾下所有的檔名
執行cmd d dir s 123.txt 這樣123.txt就列出你d盤的所有檔案 比如要d盤下的所有檔案 資料夾名就這樣 dird 123.txt,可以加引數 a s,a所有檔案,s包含子目錄。畫個矩形 雙擊開啟 設定自選圖形格式 填充 填充效果 選擇 插入 確定然後調整大小 給扔到那一列上就中...
如何解決由於premiere匯出檔案過大的問題
pr在匯出時有一項設定,調整 目標位元率 就可以改變輸出檔案的大小。如下圖 premiere匯出檔案太大怎麼辦 1 pr建專案時不要把暫存檔設定在c盤 2 其實pr匯出檔案時可以任意設定匯出檔案的大小。具體見下圖 更改匯出儲存模式即可,pr的預設匯出儲存模式是avi,然而avi檔案特點就是大,由於質...