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