解释string类型的输入操作符和getline函数分别如何处理空白符
2012-08-10 19:16 残月星辰 阅读(1567) 评论(0) 编辑 收藏 举报
1. string类型的输入操作符对空白字符的处理:读取并忽略有效字符(非空白字符)之前所有的空白字符,然后读取字符直到再次遇到空白字符,读取终止(该空白字符仍留在输入流中)。
测试string 代码:
1 #include<iostream> 2 #include<string> 3 using namespace std; 4 using std::string; 5 int main() 6 { 7 8 string line; 9 while(cin>>line) 10 cout<<line<<endl; 11 return 0; 12 13 }
输出后:
2.getline 函数对空白字符处理:不忽略行开头的空白字符,读取字符直至遇到换行符,读取终止并丢弃换行符(换行符从输入流中去掉但并不存储在string对象中)。
getline 测试代码:
1 #include<iostream> 2 #include<string> 3 using namespace std; 4 using std::string; 5 int main() 6 { 7 8 string word; 9 while(getline(cin,word)) 10 cout<<word<<endl; 11 return 0; 12 13 }
测试结果: