getline会读取换行符吗_每日C++面试必备基础:Day 8 String对象上的操作, 你学废了吗?...

8f14aa966025afa726c8d62ba2f54afb.png

读写string对象

//注意:想要编译下面的代码还需要适当的#include语句和using声明
int main()
{
string s;  //空字符窜
cin >> s;   //将string对象读入s,遇到空白停止
cout << s << endl;  //输出s
return 0;
}

如上所述,如果程序的输入时“ Hello world ”开头和结尾是空格,则输出将是“Hello”,输出结果中没有任何空格。

string s1, s2;
cin >> s1 >>s2;
cout << s1 << s2 << endl;  //输出两个string对象

同样的输入,输出将是“Helloworld”

读取未知数量的string对象

int main()
{
string world;
while (cin >> world)  //反复读取,直至到达文件末尾
sout << word << endl;  //逐个输出单词每个单词后面紧跟一个换行
return 0;
}

使用getline读取一整行

有时候希望能在最终得到的字符串中保留输入时的空白符,这时应该用getline函数代替原来的>>运算符。getline函数的参数是一个输入流和一个string对象,函数从给定的输入流中读取内容,知道遇到换行为止(注意换行符也被读进来了),然后把所读的内容存入到那个string对象中去(注意不存换行符)。getline只要一遇到换行符就结束读取操作并返回结果,哪怕输入的一开始就是换行符也是如此,那么所得的结果就是个空string。

下面是一次输出一整行的程序:

int main()
{
string line;
//每次读入一整行,直至到达文件末尾
while (getline(cin,line))
cout << line << endl;
return 0;
}
  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值