fstream无法创建新文件,不知道为什么

huazaimh 2009-02-23 11:16:16
fstream file("test.txt",ios_base::in|ios_base::app);
文件无法创建,也看不到
用ofstream就可以,同样用ifstream也不行
不知道具体是什么原因拿到的,请各位高手指点一下,谢谢!
...全文
2775 17 打赏 收藏 转发到动态 举报
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
whsfer 2009-03-19
  • 打赏
  • 举报
回复
除了用这个fstream file("test.txt",ios::in|ios::out);

还可以用ofstream file("test.txt");这样的话也是可以创建文件的 。
zhoulehua 2009-03-19
  • 打赏
  • 举报
回复
断点调试一下,一步一步地看,所得的结果是不是你预期想要的结果
wangyadong 2009-03-19
  • 打赏
  • 举报
回复
你是在6.0中定义的吧,我试过了,在6.0不可以,但是在2005中可以创建,可能给编译环境有关吧
Cpp权哥 2009-03-19
  • 打赏
  • 举报
回复 1
fstream是可以读写文件的类,你要用
fstream file("test.txt",ios::in|ios::out);
才会创建并可以读写。
ufdxkm 2009-03-19
  • 打赏
  • 举报
回复
fstream 就是读文件阿。 没有创建功能吧??
ufdxkm 2009-03-19
  • 打赏
  • 举报
回复
fstream 就是读文件阿。 没有创建功能吧??
sendto66 2009-03-19
  • 打赏
  • 举报
回复
mark
skylor 2009-03-19
  • 打赏
  • 举报
回复
还没有文件,上哪读啊
Dinelgua 2009-02-23
  • 打赏
  • 举报
回复
参数加 ios::out
hmsuccess 2009-02-23
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 waizqfor 的回复:]
引用 3 楼 huazaimh 的回复:
其它的代码基本没有任何用处,我主要是这句在这里就不能创建,我也不清楚到底为什么
是我的创建权限不够?也不可能啊

LZ要搞清楚 几个创建的定义是什么 和用法
http://blog.csdn.net/lishengwei/archive/2008/05/22/2470706.aspx
http://bbs.51cto.com/thread-545267-1.htmlLZ看看这两个资料
[/Quote]
up
barech 2009-02-23
  • 打赏
  • 举报
回复
学习了,呵呵
waizqfor 2009-02-23
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 huazaimh 的回复:]
其它的代码基本没有任何用处,我主要是这句在这里就不能创建,我也不清楚到底为什么
是我的创建权限不够?也不可能啊
[/Quote]
LZ要搞清楚 几个创建的定义是什么 和用法
http://blog.csdn.net/lishengwei/archive/2008/05/22/2470706.aspx
http://bbs.51cto.com/thread-545267-1.htmlLZ看看这两个资料
sxbwelcome 2009-02-23
  • 打赏
  • 举报
回复
楼主说的是要新建一个文件
创建一个输入流应该是一个已经存在的文件
要新建文件当然是用输出流了ofstream了
huazaimh 2009-02-23
  • 打赏
  • 举报
回复
其它的代码基本没有任何用处,我主要是这句在这里就不能创建,我也不清楚到底为什么
是我的创建权限不够?也不可能啊
thesecretblue 2009-02-23
  • 打赏
  • 举报
回复
fstream file("test.txt",ios_base::in|ios_base::app);
文件无法创建,也看不到
用ofstream就可以,同样用ifstream也不行
不知道具体是什么原因拿到的,请各位高手指点一下,谢谢!

在实际应用中,根据需要的不同,选择不同的类来定义:如果想以输入方式打开,就用ifstream来定义;如果想以输出方式打开,就用ofstream来定义;如果想以输入/输出方式来打开,就用fstream来定义。
我也运行了几个程序,可以用fstream创建,不知楼主的问题究竟在哪,可否把代码贴出来看看!!!
xbwee 2009-02-23
  • 打赏
  • 举报
回复
fstream file("test.txt",ios_base::in|ios_base::app); 此句是以输入方式打开文件,如果文件不存在,则失败返回,并设置badbit位。
同理ifstream只能为输入而打开文件,若文件不存在则失败。
既然是打开用来读取的文件当然得是已存在的才可读。否则自己创建一个空文件然后再读,想读也没什么可读呀
只有ofstream 及fstream以ios::out打开文件时,若文件不存在则创建文件。

65,211

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧