关于strcpy函数:
有一小段代码如下:
#include<stdio.h>
#include<string.h>
int main()
{
char cPrice1[50]="包子一元一个";
puts("原来的招牌内容是:");
printf("\t%s\n", cPrice1);
strcpy(cPrice1, "包子壹元壹个");
printf("\t%s\n", cPrice1);
return 0;
}
调试时出现以下报错:
严重性 代码 说明 项目 文件 行 禁止显示状态
错误 C4996 'strcpy': This function or variable may be unsafe. Consider using strcpy_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. 2022090801 D:\Malloy_outer_trace\VSprojects\2022090801\源.c 70
更改函数为strcpy_s后,仍然报错:
显示(修改行):
1、严重性 代码 说明 项目 文件 行 禁止显示状态
错误(活动) E0165 函数调用中的参数太少 2022090801 D:\Malloy_outer_trace\VSprojects\2022090801\源.c 69
2、严重性 代码 说明 项目 文件 行 禁止显示状态
错误 C2198 “strcpy_s”: 用于调用的参数太少 2022090801 D:\Malloy_outer_trace\VSprojects\2022090801\源.c 69
不知道这里参数太少什么意思,我看教科书上代码,strcpy函数也能正常使用,为什么这里就unsafe了呢?
strcpy和strcpy_s的用法一样吗?
谢谢解答[rose]!