用二进制模式与文本模式编写字符串

时间:2019-04-22 02:00:31

标签: c++ binary fstream

以下代码有什么区别:

代码1:使用二进制模式

int main()
{
    std::fstream w("D:\\file.txt", std::ios::out | std::ios::binary);

    char *p = "Hello World\r\nHi";

    w.write(p, strlen(p));

    // Close the file
    w.close();
}

代码2:使用文本模式

int main()
{
    std::fstream w("D:\\file.txt", std::ios::out);

    char *p = "Hello World\r\nHi";

    w.write(p, strlen(p));

    // Close the file
    w.close();
}

在编写这样的字符串的情况下,我是否使用二进制或文本模式有关系吗?

1 个答案:

答案 0 :(得分:0)

基本上,如果您正在处理文本,则位表示文本数据,而对于二进制,位表示自定义数据(不仅是文本,还包括音频,图像等)。如果您打算使用文本,建议您使用文本模式,因为它不太容易损坏,并且更易于在其他应用程序中使用。