【发布时间】:2015-05-18 01:55:51
【问题描述】:
time_t rawtime;
struct tm * timeinfo;
time(&rawtime);
timeinfo = localtime(&rawtime);
heure_= timeinfo->tm_hour;
minute_ = timeinfo->tm_min;
seconde_ = timeinfo->tm_sec;
jourMois_ = timeinfo->tm_mday;
jourSemaine_ = timeinfo->tm_wday;
mois_ = timeinfo->tm_mon;
annee_ = timeinfo->tm_year;
这是我对查找时间、日期、....等函数的实现。
我不知道为什么,但我得到了错误:
1>c:\users\sebastien\blabla: 警告 C4244: 'argument' : 从 'time_t' 转换为 'unsigned int',可能丢失数据
1> DateHeure.cpp
1>c:\users\sebastien\blabla-> 错误 C4996: 'localtime': 此函数或变量可能不安全。考虑改用 localtime_s。要禁用弃用,请使用 _CRT_SECURE_NO_WARNINGS。有关详细信息,请参阅在线帮助。
1> c:\program files (x86)\microsoft visual studio
12.0\vc\include\time.inl(112) : 参见“localtime”的声明
我尝试将 localtime 更改为 localtime_s,但我收到一些关于与“tm”类型参数的兼容性的错误消息。
我也尝试过(包括或纠正)__CRT_SECURE_NO_WARNINGS 但没有成功 -> 我不知道,但只包括这一行似乎很奇怪(在属性>c++>预处理器>未定义的预处理器定义中)而不添加任何其他内容。
承认我对 Visual Studio 不是很熟悉,所以我不确定所有这些属性设置和调整。
但如果有人能帮我解决这个问题,我将不胜感激,我认为这是我唯一的错误,我会在确定之后进行调试。
请提供一些有关原因的信息...我想了解一下。
【问题讨论】:
-
是 C 还是 C++?添加语言标签。
-
@余浩,你能告诉我为什么你把所有的 i 都改成了大写,尽管它们不是都开始一个句子吗? (英语不是我的母语,对错误深表歉意)但是人们在这里做的事情吗? (有什么共鸣)
-
I 总是用英文大写字母书写。