我有一个项目,我必须以二进制模式备份我的文本文件,其中包含来自用户的目标。 我打算用二进制文件打开我的文本文件,然后用我从用户那里得到的地址关闭它们。但我不知道该怎么做。
有没有办法关闭新地址中的文件(将它们保存在我想要的地方)而不是直接设置地址,因为它假定由用户设置
答案 0 :(得分:1)
以下是保存文件的示例代码:
#include <fstream>
int main () {
std::ofstream ofs;
ofs.open ("test.txt", std::ofstream::out | std::ofstream::binary | std::ofstream::trunc);
ofs << " data goes here";
ofs.close();
return 0;
}
以下是复制文件的示例代码:
ifstream source("from.txt", ios::binary);
ofstream dest("to.txt", ios::binary);
source.seekg(0, ios::end);
ifstream::pos_type size = source.tellg(); // file size
source.seekg(0);
char* buffer = new char[size]; // allocate memory for buffer
// copy file
source.read(buffer, size);
dest.write(buffer, size);
// clean up
delete[] buffer;
source.close();
dest.close();