打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
ifstream 没有 ios::nocreate 属性

今天在 vs2008 中运行一个小程序的时候,发现了一个小问题,ifstream 的 open 函数中不能用 ios::nocreate 属性。详细见代码:

#include #include #include int main(){	using namespace std;		ifstream inFile;	inFile.open("my.dat",ios::in | ios::nocreate);	if(!inFile)	{		cerr << "不能打开my.dat" << endl;		exit(1);	}	return 0;}

出现错误:

error C2065: “nocreate”: 未声明的标识符error C2065: “inFile”: 未声明的标识符

原因:从 vs 2003 开始,微软用一个新的 iostream 替换了原来的。新包中没有 nocreate 标识符。

原来 ifstream  中的 open 函数默认打开就是不创建文件。如果没有这个文件则打开出错,而不是创建文件。详见代码运行结果:

#include #include #include int main(){	using namespace std;	ifstream inFile;	inFile.open("my.dat",ios::in);	if(!inFile)	{		cerr << "不能打开my.dat" << endl;		exit(1);	}	return 0;}

运行结果:

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
C++ 文件和流 | 菜鸟教程
C++ 高级教程:C++ 文件和流
C++文件
C++ 中 ifstream读取txt文件内容
统计奇偶数的个数-文件IO
I/O操作 – 文件流
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服