所以我正在为一个学校项目编写我自己的自定义 FTP 客户端。我设法让所有东西都能与蜂拥而至的 FTP 客户端一起工作,并且只剩下最后一个小部分……将 .part 文件读入主文件。我需要做两件事。(1) 让它读取每个文件并正确写入最终文件 (2) 在我完成每个文件后删除部分文件的命令。
有人可以帮我修复我在下面写的连接函数吗?我认为我有权在 EOF 之前读取每个文件,然后继续阅读下一个文件。
在这种情况下*numOfThreads
是 17。最终得到一个 4742442 字节的文件,而不是 594542592 字节。谢谢,我很乐意提供任何其他有用的信息。
编辑:修改代码以在下面发表评论。
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;