初學者,代碼都對,軟體換了三個了,總是有一個錯誤(服,沒有一個正常點的軟體)

系統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。新函數更安全。


推薦閱讀:
相關文章