我有这个代码应该创建&打开一个文件。
的OpenFile():
std::string fileName = GetCurrentDate() +".txt";
std::cout << fileName << std::endl; //debug
m_file.open(fileName);
if (!m_file.is_open()) {
LOG(0, "ERROR creating log file");
}
日志文件的名称应该是当前日期。 (如果我使用像“log.txt”这样的硬编码文本,它可以工作。)
GetCurrentDate():
struct tm newtime;
__time32_t aclock;
_time32(&aclock);
_localtime32_s(&newtime, &aclock);
char buffer[32];
errno_t errNum;
errNum = asctime_s(buffer, 32, &newtime);
if (errNum) {
printf("Error code: %d", (int)errNum);
}
std::string str = buffer;
//buffer ends with an end line
str.erase(std::remove(str.begin(), str.end(), '\n'), str.end());
return str;
结果fileName字符串是:Tue Dec 27 03:29:17 2016.txt
为什么不打开文件?
(额外:是不是有更简单的获取当前日期的方法?Y-M-D对我来说已经足够了)
(我使用Visual Studio推荐这个)