使用 C++ 的<fstream>
,很容易复制一个文本文件:
#include <fstream>
int main() {
std::ifstream file("file.txt");
std::ofstream new_file("new_file.txt");
std::string contents;
// Store file contents in string:
std::getline(file, contents);
new_file << contents; // Write contents to file
return 0;
}
但是,当您对可执行文件执行相同操作时,输出的可执行文件实际上并不起作用。也许 std::string 不支持编码?
我希望我可以执行以下操作,但文件对象是一个指针,我无法取消引用它(运行以下代码会创建 new_file.exe,它实际上只包含某些东西的内存地址):
std::ifstream file("file.exe");
std::ofstream new_file("new_file.exe");
new_file << file;
我想知道如何做到这一点,因为我认为这在 LAN 文件共享应用程序中是必不可少的。我确信有更高级别的 API 用于使用套接字发送文件,但我想知道这些 API 是如何工作的。
我可以逐位提取、存储和写入文件,因此输入和输出文件之间没有差异吗?感谢您的帮助,非常感谢。