- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
在 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::in
和 std::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/
#include #include #include using namespace std; class Logger { private: ofstrea
FatalMessageAssembler是一个通过 FatalMessageAssembler& operator FatalMessageAssembler& operator::basic_i
我正在尝试将一个复杂对象保存到一个文件中,我正在像这样在复杂对象中重载 > 运算符 class Data { public: string name; double rating; f
当我尝试执行以下操作时,标题中出现错误。 class Test { private: std::ifstream File; public: Test(); }; 测试::测试() {
我有一个看起来像这样的结构: sturct person { string surname; person(string n) : surname(n) {}; } 我需要重载 ope
答: std::ofstream("test.txt", std::ios_base::app); 乙: std::ofstream("test.txt", std::ios_base::app|st
头文件中可以看出 , 类 ios_base源自 template class _Iosb ,其中以下 static const variables定义: static const _Fmtflag
这是来自MSDN的文档:ate,在首次创建控制对象时寻找流的末尾。 trunc,在创建控制对象时删除现有文件的内容。 我只是无法理解它们之间的区别,以下两个代码片段的行为相同(它们在插入之前清除内容)
我有一个返回 unique_ptr 的 API给 API 用户。我想知道用户何时完成此流,以便我可以对他们刚刚写入的文件采取进一步的操作。必须关闭该文件,因为即将重新挂载分区。 这可能是这个问题的错误
27.6.3.4.2 Buffer management and positioning pos_type seekoff(off_type off, ios_base::seekdir way,
我一直在寻找将字符串转换为 int 的最佳方法,但遇到了一个我不理解的函数: template bool from_string(T& t, const std::
std::ios_base::ate(例如 std::ios_base::app 除外)和 std::的意义何在ios_base::trunc(例如std::ios_base::out除外)? 我应该
在 std::ios_base::out 中使用 std::ios_base::trunc 标志的目的是什么?我在很多例子中都看到了这一点。 我认为标准保证 std::ios_base::out 也会
对于我的一项作业,我被告知使用 cin.clear(ios_base::failbit) 来设置 failbit。我想知道,cin.clear(ios_base::failbit) 和 cin.set
我已经实现了查找最大值和最小值的函数。但我得到以下错误代码: [错误] 从“std::ios_base& (*)(std::ios_base&)”到“int”的无效转换 [-fpermissive]
ios_base 类中的静态常量在创建时进行初始化,这对于常量来说是有意义的。非常量静态成员变量是否可以用相同的方式初始化,或者这个概念是否只允许常量静态成员使用? 对于带有 gnu 编译器的非常量静
关闭。这个问题是not reproducible or was caused by typos .它目前不接受答案。 这个问题是由于错别字或无法再重现的问题引起的。虽然类似的问题可能是on-topi
这个函数有两个不同的引用: 一个用 const 声明的 here ; 还有一个没有 const here ; 哪个是正确的? 最佳答案 标准说 (27.5.3.3) 定义应该是: locale get
我正在使用 libcurl 下载序列化代码并将其打开,但是,我收到一个错误,看起来 fstream 丢失了,但它包含在内。我环顾四周,但很少发现错误。下面是错误和代码。错过了什么? 编译错误输出 g+
我想知道为什么下面的代码没有按预期工作: #include #include using namespace std; int main(){ int n; string s;
我是一名优秀的程序员,十分优秀!