请教一个mkdir()的内容

booljin 2010-07-12 03:38:35
一段很简单的程序
ofstream ofile;
ofile.open("aaa\\bbb.txt");
if(!ofile)
{
ofile.close();
mkdir("aaa");
ofile.open("aaa\\bbb.txt");
ofile << "create";
}
ofile << "output";
ofile.close();

我期望每次都往aaa/bbb.txt中写一些内容。
如果aaa目录存在,这段程序没有任何问题。但是如果aaa不存在,创建目录和文件都正常,但文件中却没有任何内容

请问这是什么原因?有人知道么
...全文
171 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
ForestDB 2010-07-12
  • 打赏
  • 举报
回复
每个ofile.open都检查下。
booljin 2010-07-12
  • 打赏
  • 举报
回复
另外我用ofstream指针
ofstream* ofile;
ofile = new ofstream;
如果打开失败就delete掉,创建完目录后重新new,就可以正常
换句话说换一个ofstream对象就正常了。复用原来的为什么就不行?
booljin 2010-07-12
  • 打赏
  • 举报
回复
不,aaa目录和bbb.txt文件都创建出来的。唯一的问题是运行完后bbb.txt里面什么都没有
zhlzhlhellon 2010-07-12
  • 打赏
  • 举报
回复
if(!ofile)
{
ofile.close();
mkdir("aaa"); - 这个会改变路径, not sure.
ofile.open("aaa\\bbb.txt"); --- 这个应该没有成功, 你没有判断
ofile << "create";
}

65,210

社区成员

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

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