我正在为学校做一些练习。 我从老师那里得到的项目没有任何错误。 当我将代码复制到我的计算机上的新项目时,它显示以下错误: 编译器警告(级别3)C4996
我查看了两个编译器设置并使它们相等,但这不起作用。 所以我尝试从我的老师项目中创建一个项目属性文件,并将其插入到我自己的项目中。这也行不通。 有人可以帮我解决这个问题吗? 这是代码:
#include <stdio.h>
#include <string.h>
int main(void)
{
char s1[32];
char s2[32];
strcpy(s1, "abc def.");
strcpy(s2, "ghi_x");
printf("s1=\"%s\" en s2=\"%s\"\n", s1, s2);
printf("s1 bevat %d symbolen en s2 bevat %d symbolen\n", strlen(s1), strlen(s2));
printf("De functie strcmp(s1,s2) geeft %d als functiewaarde\n", strcmp(s1, s2));
getchar();
return 0;
}
我得到的错误是
严重级代码说明项目文件行抑制状态错误C4996'strcpy':此函数或变量可能不安全。请考虑使用strcpy_s。要禁用弃用,请使用_CRT_SECURE_NO_WARNINGS。有关详细信息,请参阅在线帮助
答案 0 :(得分:1)
快速Google搜索显示“编译器警告(级别3)C4996”表示您正在使用已弃用的功能。最可能的罪魁祸首是template< typename T >
函数,因为它们通常不安全。切换到使用他们的str*
对应方(例如strn*
)。