开发者

C++中关于getchar()的使用方法

开发者 https://www.devze.com 2022-12-03 12:01 出处:网络 作者: jingxian
目录getchar()www.devze.com简介getchar()读取缓冲区方式解决方法getchar()简介getchar()是http://www.devze.comC语言中的函数,C++中也包含了该函数。
目录
  • getchar()www.devze.com简介
  • getchar()读取缓冲区方式
  • 解决方法

getchar()简介

getchar()是http://www.devze.comC语言中的函数,C++中也包含了该函数。

getchar()函数的作用是从标php准的输入stdin中读取字符。

也就是说,getchar()函数以字符为单位对输入的数据进行读取。

getchar()读取缓冲区方式

在控制台中通过键盘输入数据时,以回车键作为结束标志。

当输入结束后,键盘输入的数据连同回车键一起被输入到输入缓冲区中。在程序中第一次调用getchar()函数从输入缓冲区中读取一个字节的数据。

需要注意的是,如果此时在程序中第二次调用getchar()函数,因为此时输入缓冲区中还有回车键的数据没有被读出,第二个getchar()函数读出开发者_C入门的是回车符。

例如如下代码

char test1 = getchar();char test2 = getchar();

此时在控制台中输入字符“a”并且按下回车键,test1的值是字符“a”,而test2的值是“\n”,如图1所示。

C++中关于getchar()的使用方法

图1 test1和test2的值

解决方法

可以使用rewind()函数来清理输入缓冲区中的数据js。

该函数的格式为

void rewind( FILE* stream );

其中,参数stream表示指向FILE结构的指针,即为指定的流。

该函数的作用是将文件指针移动到文件的起始位置处。

rewind()函数清理指定流中的错误指示符以及文件结束指示符。

将“2 getchar()读取缓冲区方式”中提到的代码修改为

char test1 = getchar(); rewind(stdin); char test2 = getchar(); rewind(stdin);

在控制台中,首先输入js字符“a”然后按下回车键。

getchar()函数从输入缓冲区中读取字符“a”,之后调用rewind()函数清理输入缓冲区中的数据,stdin表示输入缓冲区的指针;之后再在控制台中输入字符“b”,然后按下回车键,getchar()函数从输入缓冲区中读取字符“b”,最后再次调用rewind()函数清理输入缓冲区中的数据。

此时,test1和test2的值如图2所示。

C++中关于getchar()的使用方法

图2 test1和test2的值

以上为个人经验,希望能给大家一个参考,也希望大家多多支持我们。

0

精彩评论

暂无评论...
验证码 换一张
取 消

关注公众号