- 在用VS2020写代码时,发现strcpy()函数无法用,大概就是不安全推荐用“strcpy_s()‘代替。
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. HELLO WORLD C:UsersxinkadocumentsC_progectHELLO WORLDmain.cpp 11
- 函数定义:char *strcpy(char *dst,char const *src);
1. 一定要确保dst的空间能容纳src;
2.其实主要问题就是关于覆盖的问题,就是把src中的字符复制到dst中,由于复制时,会将src中的“”,也会复制,所以不管dst中原先有多少位,都会被覆盖,因为“”后的值无法得到,也就相当于把dst先置空在把src写入。
#include#include using namespace std; int main() { char dst[15] = "hellostrcpy"; char src[] = "abcd"; strcpy_s(dst, src); for (int i = 0; i < 16; i++) { cout << dst[i] << endl; } cout << "dst = " << dst << endl; }
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)