【问题标题】:How does ios::trunc work in C++ for binary files?ios::trunc 如何在 C++ 中处理二进制文件?
【发布时间】:2016-04-01 17:55:59
【问题描述】:

当我写fout.open("file.dat",ios::out|ios::trunc|ios::binary); 文件是否在该实例中丢失了所有数据 或者它会等待一些东西被写入然后数据会丢失? (我希望你明白我的意思,我要问的只是写上面的语句,即fout.write() 是否会调用从二进制文件中删除记录,或者我们需要将一些数据传递给文件,然后之前的数据已经存储在文件中会丢失)

【问题讨论】:

    标签: c++ binaryfiles


    【解决方案1】:

    trunc 标志将在 open() 处将文件归零。

    【讨论】:

    • 你的意思是它会通过键入 fout.open() 语句来删除文件的内容?
    • 这是否意味着我可以写 fout.open ("file.dat" , ios::out|ios::trunc|ios::binary); fout.close();像这两个语句我可以使用 em 删除文件的内容:) ?
    • @Keshav Sharma trunc 表示将现有内容截断为 0 个字节,因此“是” - 参见例如:cplusplus.com/doc/tutorial/files 文档。
    猜你喜欢
    • 1970-01-01
    • 2011-04-05
    • 2010-10-01
    • 1970-01-01
    • 2010-11-14
    • 2021-12-15
    • 1970-01-01
    • 2020-04-18
    • 1970-01-01
    相关资源
    最近更新 更多