用下面的代码输出数字到文件但是出现乱码怎么办?

#include

int main(){
int i;
FILE *fp;
fp=fopen("test.txt","a");

fprintf(fp, "%d %d %d %d\n",100,500,500,500);
for(i=0;i<499;i++){
    fprintf(fp,"%d ",100);
}   
fprintf(fp,"%d\n",100);
for(i=0;i<500;i++){
    fprintf(fp,"%d %d %d\n",i,i+1,20);  //length of path from station[i] to station[i+1] are all 20
} 
fclose(fp);
return 0;

}

fopen的参数a改下用wb就可以了,应该是由于文本和二进制写入的不同导致的。

程序没有问题,你用的什么系统?

字符编码问题,用Notepad++打开,显示正常,

文本和二进制的写入不同,应该是这个原因