关于C语言的local time使用

start = time(NULL);

newtime = localtime(&start);

strftime(tmpbuf,128,"Start Time:\nData: %Y-%m-%d Time: %I:%M:%S\n",newtime);

printf (tmpbuf);

不知道为什么一直出现警告
1>d:\my documents\桌面\program0515\dsmcpro.cpp(103) : warning C4996: 'localtime': This function or variable may be unsafe. Consider using localtime_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.

1> c:\program files\microsoft visual studio 9.0\vc\include\time.inl(114) : 参见“localtime”的声明

std::localtime返回的指针指向的是某个static对象,是线程不安全的。

微软提供了对应的线程安全的版本: localtime_s。

如果不是多线程环境,一个简单的解决办法可以去掉此警告:

 #pragma warning(disable : 4996)   //在文件头部加上此句

如果对您有帮助,请采纳答案好吗,谢谢!

意思是那个函数是不安全的,推荐使用 localtime_s 安全函数

警告说的很明白了吗,想用localtime就加上编译选项_CRT_SECURE_NO_WARNINGS。不然就用localtime_s代替