【发布时间】:2011-10-14 04:15:34
【问题描述】:
您好,我正在尝试使用 fstream 文件句柄执行以下操作:
- 写入文件
- 从文件中读取
- 创建文件(如果不存在)
问题: 由于某种原因,我无法创建文件。
filepath= name + "/mails.txt";
mkdir(name.c_str(),0600);
log.open(filepath.c_str(), ios::in|ios::out|ios::ate);
if(!log.is_open())cout<<"error"<<endl;
log<<flush;
如果文件存在,它会做他的工作,但当文件不存在时,它不会。
编辑:因为我未能在评论中发布代码我在这里尝试:D
user::user(string aaa)
{
string filepath;
name=aaa;
filepath= name + "/mails.txt";
mkdir(name.c_str(),0666);
//toch("mails.txt",0600);
log.open(name.c_str(), ios::in|ios::out|ios::ate);
if(!log.is_open()){
log.close();
log.open(name.c_str(), ios::in|ios::out|ios::trunc);
}
if(!log.is_open())cout<<"error"<<endl;
log<<flush;
cout<<"message written"<<endl;
}
如果有像 mkdir 这样的系统命令来创建 .txt,我认为它也会有所帮助
【问题讨论】:
标签: c++ filehandle