テキストファイルを読み込んで、その内容をCの別のテキストファイルに転送したいのですが、私のコードは次のとおりです:
char buffer[100];
FILE* rfile=fopen ("myfile.txt","r+");
if(rfile==NULL)
{
printf("couldn't open File...\n");
}
fseek(rfile, 0, SEEK_END);
size_t file_size = ftell(rfile);
printf("%d\n",file_size);
fseek(rfile,0,SEEK_SET);
fread(buffer,file_size,1,rfile);
FILE* pFile = fopen ( "newfile.txt" , "w+" );
fwrite (buffer , 1 ,sizeof(buffer) , pFile );
fclose(rfile);
fclose (pFile);
return 0;
}
私が直面している問題は、受信ファイルに不要なデータが表示されることです。「sizeof(buffer)」と「file_size」の両方で fwrite 関数を試しましたが、最初のケースでは、受信中に無駄な文字が多く表示されます。 2 番目のケースでは、役に立たない文字の数は 3 つしかありません。誰かが私の間違いを指摘し、これらの役に立たない文字を取り除く方法を教えていただければ幸いです...