为什么在c++中使用strcpy()函数时会出错?

include_motofr 2016-01-14 04:22:20
在编译时,老出现这样的提示,求解答?

1>d:\visual studio 2013\projects\text\text.cpp(17): 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.
1> c:\program files (x86)\microsoft visual studio 12.0\vc\include\string.h(112) : 参见“strcpy”的声明
========== 生成: 成功 0 个,失败 1 个,最新 0 个,跳过 0 个 ==========

按照上面要求将strcpy改为strcpy_s,也不行啊?
...全文
1016 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
dadayx 2016-07-13
  • 打赏
  • 举报
回复
请问一下,我这个跟你的情况差不多,但是 加了_CRT_SECURE_NO_WARNINGS这个,或者把strcpy换成strcpy_s后,里面的字符拷不出来了
include_motofr 2016-01-15
  • 打赏
  • 举报
回复
问题已经解决,感谢各位解答,感谢!
O_bell 2016-01-15
  • 打赏
  • 举报
回复
今天晚上也遇到了这种问题,查了查得到这种做法,不知道论坛让不让给外链,截了自己的图,你的项目右键属性,如图编辑点开添加一行_CRT_SECURE_NO_WARNINGS就行


paschen 版主 2016-01-14
  • 打赏
  • 举报
回复
因为这个函数是不安全,可能造成缓冲区溢出,所以现在有新的strcpy_s来代替 如果仍想用可以选择以下任何一种方法: 1、新建项目时不要勾选安全开发生命周期检查 2、在项目属性C/C++命令行中加上 /D _CRT_SECURE_NO_WARNINGS
include_motofr 2016-01-14
  • 打赏
  • 举报
回复
我的 属性c/c++将警告视为错误 否(/WX-)。 不管是还是否,怎么都不行呢?
include_motofr 2016-01-14
  • 打赏
  • 举报
回复
问题还没有解决,将strcpy改为strcpy_s,不行,用#define ··也不起作用。
语法错误 2016-01-14
  • 打赏
  • 举报
回复
把strcpy换成strcpy_s
苏叔叔 2016-01-14
  • 打赏
  • 举报
回复

#define _CRT_SECURE_NO_WARNINGS
把以上这句加在第一行试试。
jiqiang01234 2016-01-14
  • 打赏
  • 举报
回复
打开工程属性 -> C/C++ -> Treat Warnings As Errors

64,682

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧