getline(cin, name) 逐行复制函数

前提是你 提交于 2020-01-09 16:38:30

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

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!