初学者,代码都对,软体换了三个了,总是有一个错误(服,没有一个正常点的软体)

系统win10


既然决定学编程,请先把英文学好,然后看明白编译报的错误是什么意思,不要上来就抱怨什么C++的软体有问题。


我倒是很好奇除了VS还有哪两个是默认要求_s的(逃


emm……谢邀?

Visual Studio(VS)如何解决scanf的C4996错误??

jingyan.baidu.com

C++或VS2017解决安全开发生命周期(SDL)检查的方法_C/C++_TuDooo的博客-CSDN博客?

blog.csdn.net图标

这个报错的意思是:不要使用scanf这种非安全的函数。_s这种安全函数是我记得是VS独有的,怎么说呢,gcc就没有这些安全函数。

一般没在windows和linux上都做过开发的话,很难意识到有很多开发平台独有的特性,这也不是C++语言语法的问题。请记住,C++的软体从来就没有问题,这叫特性(滑稽


初学者才要善用搜索引擎,你百度下 C4996 就知道答案了


人穷怪地基?


现在的某些人 出事不从自己身上找原因,就喜欢怪别人。人贵有自知之明,OK?


提示的明确,按底下的提示走一波,肯定是编译选项禁止了这种旧api.要么改编译选项,要么改写法。


在学编程前先了解它的运行原理, 源代码怎么变成二进位文件,编译错误提示错误要会看(很简单的英文,不要看到一堆英文报错就心烦气躁)。

你这里是因为VS有很多安全检查,你用了有缓冲区溢出漏洞的函数,所以编译器告诉你这样不安全,初学的话可以用一个轻量一点的IDE/editor,比如Codeblocks/VSCode/Sublime/vim,但最好还是先不依赖IDE帮你自动编译,自己学一下编译器怎么用,如g++/gcc/clang,再学一下Makefile。IDE只是一个工具,对于写大型软体很有用,你甚至可以用文本编辑器+一个编译器来自己写代码+编译。

如果目前只是想先学语法建议用Codeblocks,傻瓜式安装,一键编译运行,没有VS的那些高级配置


C++软体是不是都有问题我不知道,但我觉得你脑子有问题,不太适合编程


从错误提示看,在预编译选项中加入相应的标志就可以了。_C..........具体原因是联系你用新api函数。一般都会带_s。新函数更安全。


推荐阅读:
相关文章