问题描述
- 关于strcpy和strcpy_s
-
char * hobby;char * ho=""safafaf"";hobby=new char[strlen(ho)+1];strcpy(hobbyho);这里为什么只能用strcpy不能用strcpy_s?
解决方案
s?t?r?c?p?y_s需要三个参数,第二个参数指定长度防止越界,而strcpy只需要两个参数。
解决方案二:
为了减少溢出的可能,_s出来了。
可是为了移植,它不通用,问题又出来了。
?
?......
答案就在这里:关于strcpy_s
解决方案三:
strcpy 和 strcpy_s 函数,如果你的系统中有实现,应该是一个能用的地方、另一个也一定能用
你所说的 strcpy_s 函数不能用是什么现象?可能是你使用的方法不正确吧。因为两个函数的参数是不相同的。
解决方案五:
试试强制类型转换一下:strcpy_s((char *)hobbyc.hobby);
解决方案六:
参数不同,你没有正确调用strcpy_s
时间: 2024-08-03 02:19:21