c++字符串输入总结

    c++中 以char数组或指针形式表达字符串时,初学者在尝试输入字符串时常常会出现错误。以下是我对这部分内容的一点总结:

    

    由于在使用std::cin >> char[](or char *)时,输入流在遇到空格、制表、回车键时会统一停止输入,所以当要输入的字符串中有空格时,我们可以采取以下两种方式:

    

    1、利用cin.getline(char *, int)整行读取

   

     第一个参数是要用来存放字符串的char数组,第二个参数表示存入的最大字符数,该函数只有遇到回车时才停止读取

   

     2、利用cin.get(char *, int)整行读取

    

两个参数意义与geiline函数相同,函数用法也相同。但是需要注意的是,get()在遇到回车键后,虽然会结束输入字符串,但也会将表示回车键的'\n'留在输入流中。也就是说,在

cin.get(char *, int)之后如果还需要输入,必须在两个输入之间插入cin.get()(无参数)用来承接输入流中的'\n',否则会使下一个输入的第一个字符为'\n',然后自动结束输入。

    

    attention: 在需要先输入数字,后输入字符串(无论是使用cin、 cin.getline()还是cin.get())的情况下,二者的输入函数中间也需要插入cin.get()(无参数),原因类似上述,结束输入数字时敲击的回车键也会干扰字符串的输入函数


                
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值