ofstream.open用的参数ios::trunc怎么没有效果呀??

yiyuan 2006-03-05 10:06:40
file.open("1.txt", ios::out | ios::app);
这样子可以打开文件

file.open("1.txt", ios::out | ios::app | ios::trunc);
这样子不但不能打开文件然后将内容清空,而且连文件都打不开了。这句程序没有效果了!!

为什么??为什么??为什么??

靠,费我调试了N个小时
...全文
1998 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
yiyuan 2006-03-07
  • 打赏
  • 举报
回复
晕,还真是,只用ios::out就可以清空文件。。。用ios::out | ios:: app不清空文件

看来trunc和app有冲突,不能一块用,有道理。结贴。
ddddh 2006-03-07
  • 打赏
  • 举报
回复 1
其实你用ios::trunc模式打开文件,就已经是app状态了,难道不是吗:)

你文件的大小已经是0了,所以要写东西进去,一定是在文件的“末尾”啊。

fstream fs("xxx.txt", ios::trunc | ios::out);
// 上面一句执行完毕以后,到这里xxx.txt就已经是0字节了。
string s("Hello, world!");
fs << s;
// 到这里,xxx.txt里面的内容就是string s里面的内容了。

你可以试试看:)
wshcdr 2006-03-07
  • 打赏
  • 举报
回复
对了,那现在怎么才能打开文件后清空?或者怎么能把文件删除?

/////////////////
文件清空如下

fstream file;
file.open("1.txt", ios::out);
yiyuan 2006-03-07
  • 打赏
  • 举报
回复
yiyuan 2006-03-05
  • 打赏
  • 举报
回复
对了,那现在怎么才能打开文件后清空?或者怎么能把文件删除?

64,685

社区成员

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

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