當我讀入一個文件,然後輸出到一個新文件時,輸出是亂碼,我試圖找出原因。爲什麼我的文件輸出出現亂碼?
我試圖運行下面的代碼
#include<stdio.h>
#include<stdlib.h>
int main(int argc ,char *argv[])
{
int c;
FILE *of;
FILE *f;
of=fopen(argv[2],"w");
f=fopen(argv[1],"r");
while(c=getc(f)!=EOF)
putc(c,of);
fclose(of);
fclose(f);
return 0;
}
但是當我運行它,如下所示 $./a.out temp new
其中temp
是一個已經存在的文件,其內容是: this is a temp file
和new
不存在在運行程序之前
但是現在當我捕捉到new
的內容時,它全部搞砸了它是如此嗎?
是否使用了'''od'''或不同hexdump都-style命令用來發現,每一個字節是按Ctrl-A, ASCII 1? – 2012-07-07 19:14:49
除了Daniel Fischer的回答,考慮將'main'修改爲'int main',使用'fclose'關閉並添加'return 0'以從主返回成功。 – 2012-07-07 19:17:16
還有一個問題出現我看到文件的八進制轉儲新但所有字節不是1倒數第二個字節爲0爲什麼這樣呢? – bhaskar 2012-07-07 19:23:03