關於vs2019輸入帶空格的字符串


遇到的問題

從vs2015起gets()函數就沒有了,所以在vs2019時,使用gets()會出現報錯,報錯提示:未定義表示符“gets”;

解決方法

使用gets_s();

缺點

當數組大小為10時,只能輸入9個字符(有一個位置留給'\0'),否則會造成緩沖區溢出, 甚至程序崩潰。

使用fgets();


輸入時如果超出預先分配內存大小就自動截斷, 不會出錯。

getsline(,);

string str和前者char str[]比較起來,不必 擔心內存是否足夠、字符串長度等等,而且作為一個類出現,他集成的操作函數足以完成我們大多數情況下(甚至是100%)的需要。我們可以用 = 進行賦值操作,== 進行比較,+ 做串聯(是不是很簡單?)。我們盡可以把它看成是C++的基本數據類型。

要加一個頭文件 #include < string >才可以使用


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM