20170914_字符串的输入问题

来源:互联网 发布:网络架构师下载 编辑:程序博客网 时间:2024/05/16 03:37

20170914_字符串的输入问题

1、cin 输入:遇到空格符就截至,空格后面的字符 接收不到,但是它还在输入缓冲流中。

//字符串的输入问题#include<iostream>#include<vector>#include<string>#include<algorithm>#include<numeric>#include<functional>using namespace std;int main(void){string str;/*cin 输入:遇到空格符就截至,空格后面的字符str 接收不到,但是它还在输入缓冲流中。比如:abcdabcd:4abcd bdddabcd:4bddd:4abcd bddd bcccabcd:4bddd:4bccc:4*/while(cin>>str){cout<<str<<":"<<str.size()<<endl;}system("pause");return 0;}

2、getline 输入:遇到换行符就截止,字符串之间的空格也能接收到。

谨记:如果不加上getchar( ) 语句,则不输入任何字符串,只按下换行键,它也会读进去并输出。

//字符串的输入问题#include<iostream>#include<vector>#include<string>#include<algorithm>#include<numeric>#include<functional>using namespace std;int main(void){string str;/*getline 输入:遇到换行符就截止,字符串之间的空格也能接收到。比如:abcdabcd:4abcd bdddabcd bddd:9abcd bddd bcccabcd bddd bccc:14*/while(getline(cin, str)){cout<<str<<":"<<str.size()<<endl;getchar();//吸收换行符/*谨记:如果不加上getchar语句,则不输入任何字符串,只按下换行键,它也会读进去并输出:0 */}system("pause");return 0;}