ファイルのバージョンを維持するために librsync ライブラリを使用しています。ネットワークからファイルを開くことができません。
例 (署名ファイルの作成):
int main(int argc, char** argv)//FILE *original, FILE *signature)
{
if(argc != 2)
{
cout<<"Enter the original file name."<<endl;
exit(1);
}
FILE *fpa;
fpa = fopen(argv[1],"r");
if(fpa==NULL)
{
cout<<"ERROR"<<endl;
exit(1);
}
FILE *fps;
fps = fopen("sig.sig","w+");
rs_result res = rs_sig_file(fpa, fps, 1,2,NULL);
fclose(fpa);
fclose(fps);
printf("Result code: %d\n", res);
return 0;
}
ネットワーク経由でファイルの引数を指定してプログラムを実行すると、たとえば
./a.out cs1130218@palasi.cse.iitd.ernet.in:games.txt
fpa は NULL です。
fopen は、ネットワーク経由でファイルを開くために作成されていないと思います。これを実行できるコマンドが必要です。c/c++ の任意のコマンド。このプログラムで私が何をしたいのかがはっきりとわかります。