#include<stdio.h> #include<string.h> main() { char a[10], b[10] = "copy"; strcpy_s(a,b);

2024-11-17 14:20:49
推荐回答(1个)
回答1:

这里面是因为strcpy_s需要输入3个参数,而你只输入了2个参数。所以会报错。

解决的方案有2种:

(1)添加宏命令

在文件中添加

#define _CRT_SECURE_NO_WARNINGS

这样就忽略了使用新函数而报错了。


(2)添加strcpy_s函数的输入参数。

对于字符串拷贝函数来说

errno_t strcpy_s(
   char *strDestination,
   size_t numberOfElements,
   const char *strSource 
);

中间第二个参数是要拷贝的字符个数。因此,

strcpy_s(a, b);

改为

strcpy_s(a,10,b);

结果如下: