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代替