无法打开“以日期命名”的文件?

时间:2016-12-27 02:32:40

标签: c++ file date

我有这个代码应该创建&打开一个文件。

的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推荐这个)

0 个答案:

没有答案