C++流开放模式组合
C++ stream openmode combinations
C++ std::ios_base::openmode
标志是如何工作的,它们有什么作用?
更具体地说:
- C++标准库中各种流/文件流对象的
std::ios_base::openmode
的有效组合是什么? - 如果组合不正确会怎样?
- 这些组合是否对应于作为参数传递给
fopen
的各种 C 样式字符串:"rb"、"r+"等?如果是这样,哪些C++openmode
标志对应于哪些 C 样式模式?
如 std::basic_filebuf::open 中所述,以下是有效的开放模式组合:
-
in
,相当于"r"
-
out
,相当于"w"
-
app
,相当于"a"
-
out|in
,相当于"r+"
-
out|in|trunc
,相当于"w+"
-
out|in|app
,相当于"a+"
-
binary|in
,相当于"rb"
-
binary|out
,相当于"wb"
-
binary|app
,相当于"ab"
-
binary|out|in
,相当于"r+b"
-
binary|out|in|trunc
,相当于"w+b"
-
binary|out|in|app
,相当于"a+b"
任何其他组合都将导致失败。
相关文章:
- 具有奇怪重复模板模式的派生类中的成员变量已损坏
- 如何在OMNET++中指定与命令行参数组合的输出文件名
- 可组合的lambda/std::函数与std::可选
- 为什么在保护模式下继承升级不起作用
- 如何将两个不同矢量的同一位置的两个元素组合在一起
- 如何在全屏模式下(在OpenGL中)使背景透明
- 为什么使用__LINE_的代码在发布模式下在MSVC下编译,而不是在调试模式下
- 混合组合和继承的C++问题
- 派生类是否可以在抽象工厂设计模式中具有数据成员
- 我需要将多个函数组合为一个函数
- 括号可能的组合模式
- 在访客模式中组合访客
- 工厂方法模式使用继承而抽象工厂模式使用组合如何
- C++流开放模式组合
- 函数采用枚举或枚举值组合的模式
- 加密++对称算法和经过身份验证的块模式组合
- C++:为什么这个 sync() 在这个组合模式中不起作用?
- 如何在 QModelView 中组合模式对话框编辑器和就地小组件编辑器
- 组合模式
- 设计模式-如何在C++中组合共享同一基类的两个类