C++中C风格字符串的字符赋值问题,strcpy用法问题,提示错误并要求替换成strcpy_s

#include<iostream>#include<cstring>usingnamespacestd;intmain(){constchar*constStyleST... #include <iostream>
#include <cstring>
using namespace std;
int main()
{
const char* constStyleSTRING = "I love C++!!";
cout << "Constant string is " << constStyleSTRING << endl;
char* copy = new char[strlen(constStyleSTRING) + 1];
strcpy(copy, constStyleSTRING);
cout << "now the copy is " <<*copy << endl;
delete[]copy;
return 0;
}error 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.
就算我换成strcpy_s还是提示错误啊?怎么回事?
感觉真的还是C++的STL string字符串类方便很多啊!!
展开
 我来答
zjfaok
2014-12-20 · TA获得超过6806个赞
知道大有可为答主
回答量:4146
采纳率:62%
帮助的人:1612万
展开全部

VS认为 strcpy 不安全而已,实际上只要不作死,strcpy 一定是安全的。如果真的要作死的话,用 strcpy_s 也救不了。



个人建议直接禁用这个警告。也就是在代码开头加上一行

#pragma   warning(disable:4996)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式