遇到的问题
从vs2015起gets()函数就没有了,所以在vs2019时,使用gets()会出现报错,报错提示:未定义表示符“gets”;
解决方法
一
使用gets_s();
缺点
当数组大小为10时,只能输入9个字符(有一个位置留给' '),否则会造成缓冲区溢出, 甚至程序崩溃。
二
使用fgets();
输入时如果超出预先分配内存大小就自动截断, 不会出错。
三
getsline(,);
string str和前者char str[]比较起来,不必 担心内存是否足够、字符串长度等等,而且作为一个类出现,他集成的操作函数足以完成我们大多数情况下(甚至是100%)的需要。我们可以用 = 进行赋值操作,== 进行比较,+ 做串联(是不是很简单?)。我们尽可以把它看成是C++的基本数据类型。
要加一个头文件 #include < string >才可以使用