参考:
C++中strcpy()函数和strcpy_s()函数的使用及注意事项
在对字符串进行拷贝赋值时
char *p = new char[5];
strcpy(p, "abcd");
会出现
说明编译器提醒’strcpy’方法是不安全的,原因是在字符串指针p是在堆中临时创建的空间,可能会存在内存溢出等问题,如果一定要使用该语句则需要在开头加上
#define _CRT_SECURE_NO_WARNINGS
或者使用建议使用的’strcpy_s’方法,在使用中发现
char *p = new char[5];
strcpy_s(p, "abcd");
会报错,原因是对于堆中创建的字符串指针,需要使用该方法的三参数版本
_ACRTIMP errno_t __cdecl strcpy_s(
_Out_writes_z_(_SizeInBytes) char* _Destination,
_In_ rsize_t _SizeInBytes,
_In_z_ char const* _Source
);
即
char *p = new char[5];
strcpy_s(p,5, "abcd");
或者直接使用字符串数组
char p[5];
strcpy_s(p, "abcd");
但需要注意预先设定的字符串长度需要大于等于拷贝的字符串长度,否则程序崩溃。
来源:CSDN
作者:s96562
链接:https://blog.csdn.net/s96562/article/details/103241904