无法创建包含日期和时间的文件名(C++)



>我有这个:

std::ofstream * file = new std::ofstream();
if (seperator == 1) file->open("C:/Users/Max/Desktop/Sparade filer/" + name + ".txt");
else 
{
    std::string stamp = (std::string)__DATE__ + " : " + (std::string)__TIME__;
    file->open("C:/Users/*directory*/" + name + " - " + stamp + ".txt");
}
*file << data;
delete file;
*

目录*当然是别的东西

但出于某种原因,只有 if 块中的东西有效。文件名不存在,因此完全基于变量创建一个新文件(在这种情况下name等于"我的保存")。因此,如果我将分隔符设置为 1 ,我会在我的目录中得到一个名为"my file.txt"的新文件,这意味着它可以正常运行。但是,一旦我将其设置为其他内容,我就什么也得不到。我已经检查了几次,并输入了 else 块,ofstream::open()的第一个参数是一个有效的字符串。

帮助将不胜感激!

文件名不允许

包含字符 ":"。

DATETIME 返回程序编译的时间和日期。这与系统的日期和时间不同。现在,如果这就是你要找的,那就太好了!!

但是,如果您希望程序在每次运行时使用更新的系统日期和时间标记文件夹,那么我建议您查看此线程。郑仲的答案是摆在我面前的作品。

我希望这有所帮助!

相关内容

  • 没有找到相关文章

最新更新