c++ 用open()函数无法创建不存在的文件吗?

我想创建用当前时间命名的一个文件,用来做备份文件的。。但无法创建文件。。
请指点:
代码如下:
#include <io.h>
#include <sys/stat.h> //以上两个头文件,用于调用_creat创建文件
#include <ctime>
#include<iostream>
#include<fstream>
#include<string>
using namespace std;

void Backup()
{

//备份文件,文件名为备份时间
const char *file_format = ".txt"; //文件格式
time_t t = time(0);
char tmp[25];
strftime( tmp, sizeof(tmp), "%Y/%m/%d-%X",localtime(&t) );
const char *backup_file_name = strcat(tmp,file_format);

ofstream backup_file; //输出文件流

backup_file.open(backup_file_name);
if(!backup_file)
{
cout << "Can not open Backup file!" << endl;
}

backup_file << 12345 << " " << "Gosen" << " " << endl;
backup_file.close();

}
是因为我的文件名不符合windows的文件名命名规范。。有斜杠“/”。。。所以创建不成功。。。

第1个回答  2010-06-05
谁说的?这不就创建了嘛!
#include<iostream>
#include<fstream>
using namespace std;
int main()
{
ofstream os;
os.open("haha");
os.close();
return 0;
}本回答被网友采纳
第2个回答  2010-06-05
对啊。
用ifstream cin("你的文件名");
或者ofstream cout("你的文件名");
这样文件不存在时就能创建文件。
第3个回答  2010-06-05
函数应该还有其他参量,可以选择create 方法
相似回答
大家正在搜