以二进制文件保存文本文件

时间:2014-01-12 06:54:58

标签: c++ file binary save

我有一个项目,我必须以二进制模式备份我的文本文件,其中包含来自用户的目标。 我打算用二进制文件打开我的文本文件,然后用我从用户那里得到的地址关闭它们。但我不知道该怎么做。

有没有办法关闭新地址中的文件(将它们保存在我想要的地方)而不是直接设置地址,因为它假定由用户设置

1 个答案:

答案 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();