python getchar功能_getchar函数

本文详细介绍了C语言中的getchar函数,包括其功能、用法和在控制台程序中的应用,如用户交互和防止黑屏窗口一闪而过的问题。通过示例代码展示了如何使用getchar函数获取用户输入的字符以及缓冲区中的所有字符。
摘要由CSDN通过智能技术生成

C/C++ getchar函数

最后更新于:2020-05-29 23:11:28

对于控制台程序,C语言中getchar函数一共有两个用处:

1.可以和用户交互,获取用户的键盘输入,例如:用户按下键盘的a键,那么getchar函数就返回字符a;

2.对于win32控制台而言,getchar函数和system("pause")函数作用类似,解决控制台黑屏窗口一闪而过的问题;

一.getchar函数简介

1.getchar函数简介

getchar函数有一个int或者char型的返回值,当程序调用getchar时,程序就等着用户键盘按键。用户输入的字符被存放在键盘缓冲区中。直到用户按回车为止(回车字符也放在缓冲区中),当用户键入回车之后,getchar才开始从缓冲区中读入字符,例如:用户按下键盘的a键,那么getchar函数就返回字符a;

2.`getchar`函数声明

该函数声明在`stdio.h`头文件中,使用的时候要包含stdio.h头文件。如:

#include

char getchar(void)

在C语言中对于控制台程序,我们一般通过`printf`函数输出信息到控制台窗口显示,而getchar函数则是可以从控制台获取用户的输入,而达到和用户交互的目的,注意两者的区别!

二.getchar函数使用

/************************************************************************/

/*@文件名 : getchar.cpp

/*@日 期 : 2020/5/14 21:52

/*@作 者 : 猿说编程

/*@公众号 : 猿说编程

/*@博客 : www.shuopython.com

/*@描述 : C语言教程 - getchar函数

/************************************************************************/

#include "stdafx.h"

#include "stdio.h"

#include "windows.h"

int _tmain(int argc, _TCHAR* argv[])

{

printf("请输入字符:\n");

char c = getchar();

printf("获取到您输入的字符:%c\n",c);

system("pause");

return 0;

}

输出结果:

请输入字符:

w

获取到您输入的字符:w

请按任意键继续. . .

因为我输入的是w,所以getchar函数返回的就是w,你输入任意按键都是可以的;

值得注意的是:

1.getchar函数返回的字符对应的占位符是 %c;

2.getchar函数只能获取单个字符;

3.回车键'\n'也在缓冲区中,并作为最后一个字符被getchar函数取出;

如果在回车按下之前输入了多个字符,所有的字符都会被存在缓冲区中,getchar函数会默认返回第一个字符,例如:我们在回车之前输入了12345,如何把缓冲区的所有字符都获取到呢?

/************************************************************************/

/*@文件名 : getchar.cpp

/*@日 期 : 2020/5/17 21:52

/*@作 者 : 猿说编程

/*@公众号 : 猿说编程

/*@博客 : www.shuopython.com

/*@描述 : C语言教程 - getchar函数

/************************************************************************/

#include "stdafx.h"

#include "stdio.h"

#include "windows.h"

int _tmain(int argc, _TCHAR* argv[])

{

char c = getchar();

for (;;) //死循环

{

if (c == '\n') //检查是不是回车键

{

printf("最后一个字符啦 %c \n", c);

break;

}

else

{

printf("获取缓冲区字符 %c \n", c);

c = getchar();

}

}

system("pause");

return 0;

}

输出:

12345

获取缓冲区字符 1

获取缓冲区字符 2

获取缓冲区字符 3

获取缓冲区字符 4

获取缓冲区字符 5

最后一个字符啦

请按任意键继续. . .

由上面代码可以明白,回车'\n'按键是缓冲区中最后一个字符;

三.getchar函数妙用

一般控制台程序在运行的时候,只看到一个黑窗口一闪而过,具体显示的什么根本来不及看,在前面的文章中我们介绍了可以通过system函数解决这个问题,而今天我们使用getchar函数一样能完成这个功能,因为在调用getchar函数之后,程序回一直等待用户输入直到按下回车之后程序才会继续执行,示例代码如下:

/************************************************************************/

/*@文件名 : getchar.cpp

/*@日 期 : 2020/5/17 21:52

/*@作 者 : 猿说编程

/*@公众号 : 猿说编程

/*@博客 : www.shuopython.com

/*@描述 : C语言教程 - getchar函数

/************************************************************************/

#include "stdafx.h"

#include "stdio.h"

int _tmain(int argc, _TCHAR* argv[])

{

printf("猿说编程 - python和C++教程\n");

getchar();

printf("程序结束\n");

return 0;

}

输出:

猿说编程 - python和C++教程

运行这个程序,控制台输出了第一个printf函数的内容:猿说编程 – python和C++教程 ,而第二个printf函数的内容: 程序结束 并没有显示到控制台,是因为getchar函数在等待我们输入任意字符并按下回车;

当我们按下键盘任意按键并敲回车之后,程序立即输出第二个printf函数的内容: 程序结束,然后主函数main结束,程序退出,控制台窗口消失;

猜你喜欢:

技术交流、商务合作请直接联系博主扫码或搜索:猿说编程

猿说编程微信公众号 扫一扫关注

赞赏

微信赞赏支付宝赞赏

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值