c++中的cin,cin.get(),cin.getline()读取字符串

人老了,记性不好了,看一篇忘一遍,还是梳理下吧!这里所谓的字符串为C-风格字符串,即含有空字符结束符的字符数组

1)先来看一看利用cin读取字符串

cin使用空白(空格、制表符、换行符(通过回车符输入))来确定字符串的结束位置,这意味着通过cin读入字符数组时只读取一个单词空白仍保留在流中,读取该单词后,cin将该字符串放在数组中,并自动在结尾加入空字符(‘\0’)流中单词之前的空白将被忽视,而直接保存单词;单词之后的空格仍保存在流中!

2)再看看cin.getline(char*,int)读取字符串

cin.getline(char*,int)将int-1个字符读取到数组char*中,最后一个位置用来存储'\0'。该函数在读取指定数目的字符或者遇到换行符时停止读取。该函数从流中抽取出换行符,但不保存换行符

3)再看看cin.get(void)读取字符串

cin.get()往往用来从流中抽取换行符,防止下一次读入时因读入换行符而提前结束。往往和get(a,b)结合使用,因为get(a,b)不从流中抽取换行符

4)再看看cin.get(a)读取字符串(一个引用类型参数

cin.get(ch)该读取方法可以补救cin读取方法的缺点,即可以将空白读入并存储,但是该方法只能一个字符一个字符读取,往往对于字符串的读取不太方便,故用的较少。

5)再看看cin.get(char *,int)读取字符串(两个参数)

cin.get(char*,int)与cin.getline(char*,int)函数很相似,唯一不同的地方在于:get函数不从流中抽取换行符,换行符仍保留在流中,因为其后往往要跟cin.get(),用来抽取换行符。

  • 5
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值