C ++-'localtime'此函数或变量可能不安全 [英] C++ - 'localtime' this function or variable may be unsafe

查看:755
本文介绍了C ++-'localtime'此函数或变量可能不安全的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

出于学习目的,我正在用C ++编写一个简单的日志记录类。我的代码包含一个返回今天日期字符串的函数。但是,每当调用 localtime时,我都会遇到编译器错误。

I am writing a simple logging class in C++ for learning purposes. My code contains a function that returns a string of today's date. However, I get a compiler error whenever 'localtime' is called.

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 放在项目属性的预处理器定义中。

I have tried using #define _CRT_SECURE_NO_WARNINGS. It didn't work and the same error appeared. I also tried putting _CRT_SECURE_NO_WARNINGS inside the preprocessor definitions in the project properties. This gave an unresolved external error.

有人对做什么有任何想法吗?

Does anyone have any ideas on what to do?

推荐答案

尝试在 #include 任何其他头文件之前 #define _CRT_SECURE_NO_WARNINGS

Try to #define _CRT_SECURE_NO_WARNINGS before #include any other header files, like the following code

#define _CRT_SECURE_NO_WARNINGS
#include <ctime>
//your code

这篇关于C ++-'localtime'此函数或变量可能不安全的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆