C++流openmode组合

C++ stream openmode combinations

C++ std::ios_base::openmode flags 是如何工作的,它们有什么作用?

更具体地说:

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"

任何其他组合都将导致失败。