提问人:user673679 提问时间:3/12/2018 最后编辑:user673679 更新时间:3/12/2018 访问量:912
C++ 流打开模式组合
C++ stream openmode combinations
问:
C++ std::ios_base::openmode
标志是如何工作的,它们有什么作用?
更具体地说:
- C++ 标准库中各种流/文件流对象的有效组合是什么?
std::ios_base::openmode
- 如果组合不正确会怎样?
- 这些组合是否对应于作为参数传递给的各种 C 样式字符串:“rb”、“r+”等?如果是这样,哪些 C++ 标志对应于哪些 C 样式模式?
fopen
openmode
答:
3赞
rustyx
3/12/2018
#1
如 std::basic_filebuf::open 中所述,以下是有效的 openmode 组合:
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"
任何其他组合都将导致失败。
评论
0赞
user673679
3/12/2018
谢谢。我想我会在另一个问题中问其他问题。
0赞
CuriousGeorge
5/2/2020
请参阅链接页面上的表格标题:“openmode & ~ate”
评论