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的文件名命名规范。。有斜杠“⼀”。。。所以创建不成功。。。
2026年09月24日 08:10
有3个网友回答
网友(1):

谁说的?这不就创建了嘛!
#include
#include
using namespace std;
int main()
{
ofstream os;
os.open("haha");
os.close();
return 0;
}

网友(2):

对啊。
用ifstream cin("你的文件名");
或者ofstream cout("你的文件名");
这样文件不存在时就能创建文件。

网友(3):

函数应该还有其他参量,可以选择create 方法