您的位置:首页 > 编程语言 > C语言/C++

C++ file stream open mode vs C file stream open mode in Visual C++ 2013

2013-11-03 10:56 555 查看
//C++ file stream valid stream open mode

ios_base::openmode mode;

{
static const int valid[] =
{	// valid combinations of open flags
ios_base::in,
ios_base::out,
ios_base::out | ios_base::trunc,
ios_base::out | ios_base::app,
ios_base::in | ios_base::binary,
ios_base::out | ios_base::binary,
ios_base::out | ios_base::trunc | ios_base::binary,
ios_base::out | ios_base::app | ios_base::binary,
ios_base::in | ios_base::out,
ios_base::in | ios_base::out | ios_base::trunc,
ios_base::in | ios_base::out | ios_base::app,
ios_base::in | ios_base::out | ios_base::binary,
ios_base::in | ios_base::out | ios_base::trunc
| ios_base::binary,
ios_base::in | ios_base::out | ios_base::app
| ios_base::binary,
0};

FILE *fp = 0;
int n;
ios_base::openmode atendflag = mode & ios_base::ate;
ios_base::openmode norepflag = mode & ios_base::_Noreplace;

if (mode & ios_base::_Nocreate)
mode |= ios_base::in;	// file must exist
if (mode & ios_base::app)
mode |= ios_base::out;	// extension -- app implies out

mode &= ~(ios_base::ate | ios_base::_Nocreate | ios_base::_Noreplace);
for (n = 0; valid
!= 0 && valid
!= mode; ++n)
;	// look for a valid mode


//C file stream valid open mode

static const char * const mods[] =
{	// fopen mode strings corresponding to valid[i]
"r", "w", "w", "a",
"rb", "wb", "wb", "ab",
"r+", "w+", "a+",
"r+b", "w+b", "a+b",
0};
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐