关于vs2019输入带空格的字符串
遇到的问题
从vs2015起gets()函数就没有了,所以在vs2019时,使用gets()会出现报错,报错提示:未定义表示符“gets”;
解决方法
一
使用gets_s();

缺点
当数组大小为10时,只能输入9个字符(有一个位置留给'\0'),否则会造成缓冲区溢出, 甚至程序崩溃。

二
使用fgets();

输入时如果超出预先分配内存大小就自动截断, 不会出错。

三
getsline(,);
string str和前者char str[]比较起来,不必 担心内存是否足够、字符串长度等等,而且作为一个类出现,他集成的操作函数足以完成我们大多数情况下(甚至是100%)的需要。我们可以用 = 进行赋值操作,== 进行比较,+ 做串联(是不是很简单?)。我们尽可以把它看成是C++的基本数据类型。

要加一个头文件 #include < string >才可以使用


浙公网安备 33010602011771号