当时是写了这样一段代码
#include<iostream>
#include<string>
using namespace std;
int main()
{
char str1[] = "abcdef";
char str2[] = { 'a','b','c','d','e','\0' };
strcpy(str1, str2);
cout << str1 << str2;
return 0;
}
当时在学习字符串函数,不经意间触发发了这个问题。
报错的原因是因为vs认为strcpy不够安全。
解决办法1
将strcpy改为strcpy_s
这个是因为strcpy和strcpy_s的原型是不一样的的,所有VS通过其声明会认为strcpy_s更加安全。
解决办法2
添加#pragma warning (disable:4996)
这种办法直接屏蔽了这个warning。