在学习使用strcat()函数时遇到报错,程序无法运行。
#include <stdio.h>
#include <string.h>
int main() {
char s1[20] = "123";
char s2[10] = "456";
printf("s1: %-10s s2: %-10s\n", s1, s2);
strcat(s1, s2);
printf("s1: %-10s s2: %-10s\n", s1, s2);
return 0;
}
错误代码:C4996
错误说明:’strcat’: This function or variable may be unsafe. Consider using strcat_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for detail.
这些信息的意思是strcat函数被认为是不安全的,编译器建议我们使用strcat_s代替,若要禁用这个警告,可以使用_CRT_SECURE_NO_WARNINGS。
但我尝试用_CRT_SECURE_NO_WARNINGS,发现还是不行,于是搜索错误代码C 4996。
编译器警告(级别 3) C4996 | Microsoft Learn
该网页提供了不同级别的关闭该警告的方式,我在代码中添加#pragma warning(disable : 4996)后,程序成功运行。