vs2013环境
还有0人有此问题
发表在C语言视频课程答疑 2017-02-04
是否精华
版块置顶:

代码:

int main()

{

char strDest[100] ;

char name[100];

cout << "请输入您的用户名: " << endl;

cin.getline(name, 100);

cout << display(strDest, name) << endl;

system("pause");

return 0;

}

char * display(char *strDest, const char * ptr)

{

strcpy(strDest, ptr);

strcat(strDest, ",您好!");

return strDest;

}

错误:

错误 1 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. f:\liubo\1\20170204e\20170204e\源.cpp 42 1 20170204e

老师,这是什么情况?换成strcpy_s报错

2 IntelliSense:  没有与参数列表匹配的 重载函数 "strcpy_s" 实例

            参数类型为:  (char *, const char *) f:\liubo\1\20170204e\20170204e\源.cpp 42 2 20170204e


分享到:
精彩评论 3
again
学分:250 LV4
2017-02-04
沙发

使用 strcpy 这样的,结尾不带 _s 的函数,提示这个,是IDE在提示,这个函数不安全,容易造是缓冲益出。

可以通过如下方式解决:

1. 打开 工程的属性

2. 选择  “C/C++”-> “预处理器”-> “预处理器定义”

3. 在弹出的对话框中,增加“_CRT_SECURE_NO_WARNINGS”

4. 确定,回到工程,再编译。

刘小妮儿
学分:192 LV4
2017-02-04
板凳

可是带_s为啥也报错呢


again
学分:250 LV4
2017-02-06
地板

刘小妮儿 发表于2017-02-04 16:12

可是带_s为啥也报错呢


因为加上 “_s” 是另一个函数, 报错是因为用的不对。 用 strcpy的参数, 来填充 strcpy_s,少了一个参数。

首页上一页 1 下一页尾页 3 条记录 1/1页
手机同步功能介绍
友情提示:以下图书配套资源能够实现手机同步功能
明日微信公众号
明日之星 明日之星编程特训营
客服热线(每日9:00-17:00)
400 675 1066
mingrisoft@mingrisoft.com
吉林省明日科技有限公司Copyright ©2007-2022,mingrisoft.com, All Rights Reserved长春市北湖科技开发区盛北大街3333号长春北湖科技园项目一期A10号楼四、五层
吉ICP备10002740号-2吉公网安备22010202000132经营性网站备案信息 营业执照