1.直接使用cin的>>操作符从键盘输入字符串时,空格会被当做输入的分隔符。例如,输入字符串“123 ABC"时,那么被读入的字符串就是“123”,而“ABC”将作为下一波被读入。
所以若你想不以中间的空格作为输入的分隔符,可以使用头文件string中定义的getline,并且输入字符串时只以换行符作为分隔符。
2.getline还允许在输入字符串时增加其他分隔符,使用方法是吧可以作为分隔符的字符作为第三个参数传递 给getline。如getline(cin,s2,',');
即把“,”也作为分隔标志,“,”以后的部分作为下一个输出流。
例子:
1 #include<iostream>
2 #include<string>
3 #include<stdlib.h>
4 using namespace std;
5
6 int main()
7 {
8 for(int i=0;i<2;i++)
9 {
10 string city,state;
11 getline(cin,city,',');
12 getline(cin,state);
13 cout<<"City:"<<city<<" State:"<<state<<endl;
14 }
15 system("pause");
16 return 0;
17 }
输出的结果:
输入流:Beijing,China
输出: City:Beijing State:China
输入流:San Francisco,the United States
输出: City:San Francisco State:the United States
来源:https://www.cnblogs.com/Jack-Elvis/p/12171939.html