Я пишу простой класс ведения журнала на C++ для обучения. Мой код содержит функцию, которая возвращает строку сегодняшней даты. Тем не менее, я получаю ошибку компилятора всякий раз, когда вызывается «localtime».C++ - 'localtime' эта функция или переменная может быть небезопасной
std::string get_date_string(time_t *time) {
struct tm *now = localtime(time);
std::string date = std::to_string(now->tm_mday) + std::to_string(now->tm_mon) + std::to_string(now->tm_year);
return date;
}
Я пробовал использовать #define _CRT_SECURE_NO_WARNINGS
. Это не сработало и появилась такая же ошибка. Я также попытался поставить _CRT_SECURE_NO_WARNINGS
внутри определений препроцессора в свойствах проекта. Это дало нерешенную внешнюю ошибку.
Есть ли у кого-нибудь идеи, что делать?
Где точное предупреждение? «localtime» может быть опасным для использования, поскольку он возвращает указатель на область памяти, которой он владеет, поэтому, если вы вызываете его несколько раз, вам нужно каждый раз проверять структуру. Также, кстати, способ создания строки, если вы получаете «2112016», вы не знаете, если это 21/1/2016 или 2/11/2016. –