gpt4 book ai didi

c++ - 将 std::ios_base::trunc 标志与 std::ios_base::out 一起使用的目的是什么

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:11:09 30 4
gpt4 key购买 nike

std::ios_base::out 中使用 std::ios_base::trunc 标志的目的是什么?我在很多例子中都看到了这一点。

我认为标准保证 std::ios_base::out 也会截断文件(我知道的所有 STL 实现都这样做)。我错了吗,应该明确通知我要截断文件吗?

最佳答案

是的,std::ios_base::out 等同于 fopen 中的 "w"

std::ios_base::trunc 的重点是 std::ios_base::instd::ios_base::out 同时使用。

  • 在 | out 等同于 "r+"
  • 在 |出来 | trunc 等同于 "w+"
  • 二进制 |在 | out 等同于 "rb+"
  • 二进制 |在 |出来 | trunc 等同于 "wb+"

也许表格会更明显:

binary  in  out  trunc | stdio equivalent
-----------------------+-----------------
+ + | "r+"
+ + + | "w+"
+ + + | "r+b"
+ + + + | "w+b"

关于c++ - 将 std::ios_base::trunc 标志与 std::ios_base::out 一起使用的目的是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18040810/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com