为什么用fread读出来的文件内容都是“屯”字?

读出来乱码了,不知道怎么回事,请高手指教:
程序如下!
void main()
{
FILE *fs,*fdes;
char *p;
fs=fopen("file.txt","r");
///////////////////////////////////
/*计算文件大小*/
fseek(fs,0,SEEK_END);
int flen = ftell(fs);
cout<<flen<<endl;
///////////////////////////////////
p=(char*)malloc(flen+1);
fread(p,flen,1,fs);
p[flen]=0;
cout<<p<<endl;
fdes=fopen("result.txt","w");
fwrite(p,flen,1,fdes);
fclose(fs);
}
最新回答
真扯淡

2021-02-05 19:26:47

fseek(fs,0,SEEK_END);将文件指针指向了文件末尾.
读文件时应该先rewind(fs);将指针指向开始处