c++字符串按行输入

istream类中的函数

1.getline()函数

getline()函数读取整行(包括换行符),通过回车键输入的换行符输入结尾。

输入字符串可以使用cin.getline(),函数的第一个参数储存输入行数组的名称,第二个参数是要读取的字符数,在读取到指定字符或换行符时停止读取。例如cin.getline(name,20);可将姓名读取到包含20个元素的name数组中。

也可通过string类和getline()函数来读取,例如:

string str;

getline(cin,str);//这样不需要规定长度,系统会自动分配

下面的输入可以连续两行分别读入数组name1和name2中:

cin.getline(name1,size).getline(name2,size)//size表示大小

相当于调用两次getline()函数

2.get()函数

get()函数读取整行(不包括换行符),读取到行尾。get()函数不再读取并丢弃换行符。

但可以借助cin.get()处理换行符,例如:

cin.get(name, size);//size表示大小

cin.get();

cin.get(dessert,size);

另外还有一种使用get()的方式是将两个类成员连接起来:

cin.get(name,size).get();//这样也可以处理换行符。

两者区别:

getline()使用起来更简单些,get()检查错误更简单些。

可以用get()来知道读取停止是由于读取了整行还是数组已经填满,通过查看下一个字符来发现,若下一个字符是换行说明读取了整行,否则说明该行中还有其他输入。

  • 2
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值