码迷,mamicode.com
首页 > 其他好文 > 详细

getline()和get()的使用区别

时间:2019-07-22 22:42:04      阅读:204      评论:0      收藏:0      [点我收藏+]

标签:就是   字符   name   不能   换行   des   入队   ons   line   

一、getline和get()的使用区别:

首先这两个函数都读取下一行输入,直到到达换行符;但是getline()函数会丢弃换行符,而get()将换行符保留在输入序列中

二、getline()函数的使用方法:

getline()函数读取整行,它使用通过回车输入的换行符来确定输入结尾。要调用这种方法,可以使用cin.getline()。该函数有两个参数,第一个参数是用来存储输入行的数组的名称,第二个参数是要读取的字符数。同时getline()成员函数在读取指定数目的字符或遇到换行符时停止读取。

#include <iostream>
using namespace std;
int main()
{
    const int HH=20;
    char name[HH];
    char dessert[HH];
    
    cout<< "Enter you name:\n";
    cin.getline(name,HH);
    cout<<"Enter your favorite dessert:\n";
    cin.getline(dessert,HH);
    cout<<" I have some delicious "<<dessert;
    cout<<" for you, "<< name << ".\n";
    return 0;
}

三、get()函数的使用:它的参数形式和getline()函数一样,不同之处就是它并不再读取并丢弃换行符,而是将他留在输入队列中。由于第一次调用后,换行符将留在输入队列中,因此第二次调用时看到的第一个字符便是换行符,因此get()认为已达到行尾,而没有发现任何可读取的内容。如果不借助帮助,get()将不能跨过换行符,但是可以使用不带任何参数的cin.get()调用可读取下一个字符(即是换行符)

#include <iostream>
using namespace std;
int main()
{
    const int HH=20;
    char name[HH];
    char dessert[HH];
    
    cout<< "Enter you name:\n";
    cin.get(name,HH).get();
    cout<<"Enter your favorite dessert:\n";
    cin.get(dessert,HH).get();
    cout<<" I have some delicious "<<dessert;
    cout<<" for you, "<< name << ".\n";
    return 0;
}

 

getline()和get()的使用区别

标签:就是   字符   name   不能   换行   des   入队   ons   line   

原文地址:https://www.cnblogs.com/1121518wo/p/11228958.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!