一、问题
遇到字符串的算法题,经常会有这样一种情况出现:
定义一个字符串a,
假如我们要让a = "hello world",
这个字符串里是有空格的,
但是对于最常用的两种输入却无法满足:
1、cin是C++中最常用的输入语句,但是当遇到空格或者回车键,输入流即停止。
2、scanf函数一般格式为scanf(“%s”,st),但scanf默认回车和空格是输入不同组之间的间隔和结束符号,所以输入带空格,tab或者回车的字符串是不可以的。
二、解决办法
getline()(包含头文件#include <string>)
比较常用。
若定义变量为string类型,则要考虑getline()函数。用法如下:
string a;
getline(cin, a);