C++,cin.get()用法

请举例说明如何使用cin.get()把用户的输入赋值给指定字符串变量... 请举例说明如何使用cin.get()把用户的输入赋值给指定字符串变量 展开
 我来答
爱教育爱学习
高粉答主

2019-11-19 · 学而不思则罔,思而不学则殆
爱教育爱学习
采纳数:384 获赞数:112724

向TA提问 私信TA
展开全部

cin对象有一个名为get的内置函数很有帮助。因为get函数是内置在cin对象中的,所以可称之为cin的一个成员函数。get成员函数读取单个字符,包括任何白色空格字符。如果程序需要存储正在读取的字符,则可以通过以下任意一种方式调用get成员函数。

cin.get函数执行时,它开始从先前输入操作停止的键盘缓冲区读取,并发现了换行符,所以它无须等待用户输入另一个值。这种问题最直接的解决办法是使用cin.ignore函数。

假设cin是正被读入字符的char变量的名称:

cin.get(ch);

ch=cin.get();

如果程序正在使用get函数简单地暂停屏幕直到按回车键,并且不需要存储字符,则该函数也可以这样调用:

cin.get();

在所有这3个编程语句中,get函数调用的格式实际上是一样的。首先是对象的名称,在此示例中它是cin。然后是一个句点,其后是被调用的成员函数的名称,在这里当然就是get。语句的末尾是一组括号和一个表示结束的分号。这是调用任何成员函数的基本格式。

扩展资料

例:

//Thisprogramdemonstratesthreewaystousecin.get()

//topauseaprogram.

#include<iostream>

usingnamespacestd;

intmain()

{

charch;

cout<<"Thisprogramhaspaused.PressEntertocontinue.";

cin.get(ch);

cout<<"Ithaspausedasecondtime.PleasepressEnteragain.";ch=cin.get();

cout<<"Ithaspausedathirdtime.PleasepressEnteragain.";

cin.get();

cout<<"Thankyou!\n";

return0;

}

撒飒飒953
2018-12-19 · TA获得超过1068个赞
知道答主
回答量:16
采纳率:0%
帮助的人:2366
展开全部

cin.get()是保留回车在输入流队列中的,

而cin是丢弃回车的。

ch=cin.get();是第一次输入,因为是刚开始,所以没有回车保留在输入流的队列中。这时你输入一个字符,然后回车。get()收到回车或空格或制表符就停止输入了、此时,输入流队列中留下一个回车。

num=cin.get();这是第二次输入。因为第一次用了get,所以输入流队列中有个回车。则get()接受这个回车。又因为get()收到回车或空格或制表符就停止输入。

所以这一次的输入就是一个回车,
可以num=cin.get();之前把回车给弄了。你应该想到了。就用cin.get(),把第一次输入留下的回车给弄走.则num=cin.get()就可以正常了。

扩展资料

cin运行机制解析:

C++的cin究竟确切含义是什么呢?很多初学者第一次接触cin时,当程序运行到cin指令时,程序自动会中断,然后等待用户从键盘中输入信息。只有当用户输入完成,按下回车之后,程序才会继续往下运行。

这个过程很容易让初学者产生误会,认为cin就是调用电脑键盘进行输入的指令。也是因为这个错误的认知,会引起一系列的误会。例如上文中图4,虽然程序中有三次cin,但其实我们只要从键盘里输入一次,就可以完成全部输入工作,不一定非得分开三次从键盘输入。

cin本质和其它C++变量一样,它也是一个变量名,它被定义在iostream文件里。因此,我们要使用cin功能时,就必须导入头文件<iostream>。在C++中,变量名通常实质是代表着一段内存区域,

同样的道理,cin这个变量其实也是映射到一段内存区域里面,我们可以认为cin实际上代表着一段内存缓冲区,这段缓冲区的作用是,用于缓存从键盘输入的信息。

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
印骏诗幼仪
2019-06-08 · TA获得超过3901个赞
知道大有可为答主
回答量:3089
采纳率:27%
帮助的人:212万
展开全部
这是因为使用了do
while循环,进入循环后,判断字符串是否结束,所以需要再次得到字符串的下一个。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
徭婀郦梦槐
2020-07-31 · TA获得超过1015个赞
知道小有建树答主
回答量:1360
采纳率:100%
帮助的人:5.8万
展开全部
ch=cin.get()
是将输入的一个字符(包括空白字符)的ascii码值作为函数
返回值
赋值给ch
cin.get(ch)功能一致,注意函数参数是字符引用,因此ch也被改变为输入的一个字符,但是函数的返回值
是流
的引用,因此可以这样一直进行下去:
char
a,
b;
cin.get(a).get(b);
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
回展薄依云
2019-02-28 · TA获得超过1177个赞
知道答主
回答量:6
采纳率:0%
帮助的人:1184
展开全部
一般情况下,cin自动跳过输入的空格,如果你要把键盘上输入的每个字符
包括空格和回车键都作为一个输入字符给字符型变量时,必须使用函数cin.get()。
格式为
cin.get(字符型变量)
该语句一次只能从输入行中提取一个字符。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(5)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式