C++中cin.get()和cin.getline()的用法以及区别

今天在学习C++的时候对getline()函数和get()函数有点蒙,特地去找了些资料,加上自己上机实验了一些,整理了一些二者的区别。

首先二者都是可以从输入流中获得字符,get()函数可以不设置参数,如char ch=cin.get();

也可以设置一个参数,这个参数为一个字符变量例如char ch;
cin.get(ch);//表示把从输入流中得到的字符赋值给ch变量 。

上面这两个用法与c语言中的getchar()相似,这里不做赘述。

下面来说一下 get()函数 带两个参数或者三个参数的用法,两个参数时调用形式为:

cin.get(指针名或数组名,获得字符的数量);

表示把获得的字符付给该数组或字符指针,例如:

`char ch[20];

cin.get(ch,15);`//把字符串赋值给数组,并在结尾加一个’\0’;

三个参数的用法与两个参数的用法相似,只不过多了一个参数终止字符;调用形式为cin.get(指针名或数组名,字符个数,终止字符);例如:


char ch[20];

cin.get(ch,15,'/');



表示把从输入流中获得的15个字符赋给ch数组,如果这期间遇到了终止字符’/’,则只把终止字符前面的字符赋值给数组。

getline()函数调用形式与get()函数的后两种用法相似,即也是从输入流中获得指定长度字符,赋值给数组或字符指针。

那二者的区别在于哪呢?先上一段代码


#include"iostream"
using namespace std;

int main()

{

    char ch[20];

    char *pt = ch;//指针指向该数组

    cin.getline(pt,15,'/');//注意结尾会自动加'\0'

    cout<< "the first part is:" << pt << endl;
    cin.getline(pt,15, '/');

 
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值