为了账号安全,请及时绑定邮箱和手机立即绑定

我想创建用当前时间命名的一个文件,用来做备份文件的,但无法创建文件?为什么

我想创建用当前时间命名的一个文件,用来做备份文件的,但无法创建文件?为什么

C++
千巷猫影 2022-11-19 17:13:22

请指点:
代码如下:
#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的文件名命名规范。。有斜杠“/”。。。所以创建不成功。。。

查看完整描述

3 回答

?
桃花长相依

TA贡献1553条经验 获得超8个赞

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

查看完整回答
反对 回复 4天前
?
守候你守候我

TA贡献1508条经验 获得超10个赞

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

查看完整回答
反对 回复 4天前
?
阿晨1998

TA贡献1777条经验 获得超5个赞

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

查看完整回答
反对 回复 4天前

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信