遇到的問題
從vs2015起gets()函數就沒有了,所以在vs2019時,使用gets()會出現報錯,報錯提示:未定義表示符“gets”;
解決方法
一
使用gets_s();
缺點
當數組大小為10時,只能輸入9個字符(有一個位置留給'\0'),否則會造成緩沖區溢出, 甚至程序崩潰。
二
使用fgets();
輸入時如果超出預先分配內存大小就自動截斷, 不會出錯。
三
getsline(,);
string str和前者char str[]比較起來,不必 擔心內存是否足夠、字符串長度等等,而且作為一個類出現,他集成的操作函數足以完成我們大多數情況下(甚至是100%)的需要。我們可以用 = 進行賦值操作,== 進行比較,+ 做串聯(是不是很簡單?)。我們盡可以把它看成是C++的基本數據類型。
要加一個頭文件 #include < string >才可以使用