二进制文件:ios :: binary无法正常工作

时间:2014-03-07 19:33:27

标签: c++ binary

我正在尝试用二进制编写一个字符串。

这是我的代码:

bool Database::createTable(string name, string content)
{
    string *filePath = new string(*this->path + "/" + name + ".dt");

    ifstream *checkFile = new ifstream(*filePath);

    if(checkFile->good())
    {
        return false;
    }

    ofstream *file = new ofstream(*filePath, ios::binary);

    file->write(content.c_str(), content.size());

    file->close();

    delete filePath;
    delete checkFile;
    delete file;

    return true;
}

我希望在文本编辑器中看到类似内容:

6a6f 686e 0000 0000 0000 0000 1500 0000
1039 4099 b67f 0000 1c39 4099 b67f 0000

但我看到了纯文字。

如果我取出ios::binary,它会输出相同的内容。

我误解了什么?

感谢。

1 个答案:

答案 0 :(得分:0)

要获得这样的格式,请使用 hexdump 工具。来自C ++:

How would I create a hex dump utility in C++?