关闭警告:解决学习C strcat()时遇到的问题

在学习使用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)后,程序成功运行。