字符串输入函数cin.getline()、与cin.get()的区别

//字符串输入函数cin.getline()、与cin.get()的区别
#include <iostream>
using namespace std;
int main()
{
    char ch0[10];
    char ch1[10];
    char ch2[10];
    char ch3;
   
    /*
     * getline()函数读取整行,它使用通过回车键输入的换行符来确定输入结尾。
     * 随后getline()将丢弃换行符,即清除输入队列中的换行符。
     */   
    cout<<"please input string0:"<<endl;
    cin.getline(ch0,10);
    cout<<"please input string1:"<<endl;
    cin.getline(ch1,10);
    cout<<"result from getline:"<<endl;
    cout<<ch0<<endl
        <<ch1<<endl
        <<endl;


    /*
     * 工作方式与getline()相似。不同之处在于get()函数不会丢弃输入队列中的
     * 换行符,而是将其保留在输入队列中。
     *
     * 如果不借助帮助,get()将不能跨过换行符,即后面的输入将无法正常进行。
     */
    cout<<"please input string0:"<<endl;
    cin.get(ch0,10);
    ch3 = cin.get();        //不带参数的get()可以接收任何ascii码(即使是换
                            //行符)
    cout<<"please input string1:"<<endl;
    cin.get(ch1,10);
    cout<<"please input string2:"<<endl;
    cin.getline(ch2,10);    //利用getline()函数也可以清楚输入队列中的换行
                            //符
    cin.get(ch2,10);
    cout<<"result from get:"<<endl;
    cout<<ch0<<endl
        <<ch1<<endl
        <<ch2<<endl
        <<(int)ch3<<endl;   //可见上面不带参数的get()函数接收了换行符(换行
                            //符的ascii码值为10)
}

image

转载于:https://my.oschina.net/libowen/blog/93420

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值