gpt4 book ai didi

c++ - fstream 未创建文件名后附加了 asctime 值的文件

转载 作者:太空狗 更新时间:2023-10-29 23:52:57 26 4
gpt4 key购买 nike

我已经调试到我知道问题的程度,我只是不知道如何解决它。

现在我正在使用:

file.open(logFile.c_str(), std::ios::out | std::ios::app); 

只要我注释掉下面标记的行,logFile 变量就可以正常工作:

time_t rawtime;
struct tm * timeinfo;
time (&rawtime);
timeinfo = localtime (&rawtime);
logFile = "bin/";
if(_DEBUG) { logFile += "Debug/"; }
else { logFile += "Release/"; }
logFile += fileName;
if(_DEBUG) { logFile += "Debug-"; }
else { logFile += "Release-"; }
logFile += asctime(timeinfo); // Works fine with this line commented.
logFile += ".log";

那么我怎样才能让它在未注释的这一行正常工作呢?

最佳答案

冒号 (:) 是文件名的非法字符,至少对于 NTFS。尝试使用 strftime()而是格式化不包含冒号的字符串。

关于c++ - fstream 未创建文件名后附加了 asctime 值的文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13103913/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com