そこで、学校のプロジェクト用に独自のカスタム FTP クライアントを作成しています。群がる FTP クライアントですべてが動作するように管理し、最後の小さな部分に取り掛かっています... .part ファイルをメイン ファイルに読み込みます。私は2つのことをする必要があります。(1)これを取得して、各ファイルを適切に読み取り、最終ファイルに書き込みます(2)各ファイルの処理が完了したら、パーツファイルを削除するコマンド。
以下に書いた連結関数を修正するのを手伝ってもらえますか? EOF まで各ファイルを読み込んでから、次のファイルに進むのが正しいと思いました。
この場合*numOfThreads
は 17 です。594542592 バイトではなく、4742442 バイトのファイルになりました。ありがとうございます。他にも有益な情報を提供できれば幸いです。
編集: 以下のコメントのコードを修正しました。
std::string s = "Fedora-15-x86_64-Live-Desktop.iso";
std::ofstream out;
out.open(s.c_str(), std::ios::out);
for (int i = 0; i < 17; ++i)
{
std::ifstream in;
std::ostringstream convert;
convert << i;
std::string t = s + ".part" + convert.str();
in.open(t.c_str(), std::ios::in | std::ios::binary);
int size = 32*1024;
char *tempBuffer = new char[size];
if (in.good())
{
while (in.read(tempBuffer, size))
out.write(tempBuffer, in.gcount());
}
delete [] tempBuffer;
in.close();
}
out.close();
return 0;