【问题标题】:saving text file in binary将文本文件保存为二进制
【发布时间】:2014-01-12 06:54:57
【问题描述】:

我有一个项目,我必须以二进制模式备份我的文本文件,目标是从用户那里获取。 我正在考虑以二进制文件打开我的文本文件,然后在我从用户那里获得的地址中关闭它们。但我不知道该怎么做。

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

【问题讨论】:

  • 没人能回答我的问题吗?有办法吗?
  • 您可以使用ofstream 将数据保存到二进制文件中。
  • @vershov 我已经做到了,但我不知道如何保存我的文件

标签: c++ file binary save


【解决方案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();

【讨论】:

  • 您的代码很有用,谢谢。但是我必须将一些文件复制到一个文件,并且使用您的代码,我们无法将保存文件的地址保存在用户告诉我们的目的地中
  • @user2589043 第二个 sn-p 可以简单地修改,以便将多个文件合并为一个以及以不同的名称保存结果文件。另外,你已经有了 link 到 ofstream 库的描述,所以你可以做你需要的一切。
猜你喜欢
  • 2010-09-19
  • 2014-01-16
  • 1970-01-01
  • 2016-02-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-11-07
  • 1970-01-01
相关资源
最近更新 更多