解释string类型的输入操作符和getline函数分别如何处理空白符

本文对比了C++中string类型输入操作符与getline函数对于空白字符的不同处理方式。string类型的输入操作符会忽略开始的空白字符,并在遇到新的空白字符时停止读取;而getline函数则会读取包括开头空白在内的所有字符直到换行符。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 

   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 }

测试结果:

 

转载于:https://www.cnblogs.com/canyuexingchen/archive/2012/08/10/2632765.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值