目录
getchar函数
getchar函数的声明:
getchar函数返回值问题
getchar函数的无法返回字符串的情况
输出通过getchar函数获得的一个字符:
getchar函数的进一步使用
最后这里给大家推荐一个库函数的网站:Reference - C++ Reference
在我们日常敲代码中,有时候需要输入一个字符来判定的需求。
例如:
在完成一个输入密码的需求时,如果需要用户是否确认密码正确,可以让客户选择按'Y' 或者 'N'来表示确定或者重新输入过。
getchar函数
C函数库还是比较给力的,一般日常中会经常需要用到的函数都已经帮我们定义好了。
这里,就有个getchar函数可以让我们来实现上面的需求了。
下面,是getchar函数的定义:
右上角可以看到它的头文件是<cstdio.h>,这是c++的头文件引用。
C语言引用为#include <stdio.h>
getchar函数的声明:
int getchar (void);
返回类型是int,函数名为getchar,参数为空。
接着,我们看到这一段话。
这段话的意思大体上为:返回接下来你输入的一个字符。
getchar函数返回值问题
到这里,我当时是有点迷惑的。
为啥子你说getchar函数的返回值是int类型的,为啥返回的是你输入的一个字符。
*****后面就了解到了一个概念,ASCII码。
ascii码是基于拉丁字母的一套电脑编码系统;ascii码是“American Standard Code for Information Interchange”的简写,主要用于显示现代英语和其他西欧语言,是最通用的信息交换标准,使用指定的7位或8位二进制数组合来表示128或256种可能的字符。
噢,到这里我就明白了。
原来我们电脑键盘上的字符其实都是可以用二进制数组合来表示的了。
那也就是说每一个字符也就可以看成一个数字了。
getchar函数的无法返回字符串的情况
这段话讲的就是,当getchar函数获取到的字符是EOF(End Of File),也就是文件结束标志的时候,不会返回这个字符。
输出通过getchar函数获得的一个字符:
方法一:通过printf函数
#include <stdio.h>
int main() {
int ret = 0;
ret = getchar();
printf("输入的这个字符为:%c", ret);
return 0;
}
效果展示:
方法二:通过putchar函数
#include <stdio.h>
int main() {
int ret = 0;
ret = getchar();
putchar(ret);
return 0;
}
效果展示:
getchar函数的进一步使用
有时,我们可能不满足于只获得到一个字符,而需要返回一个字符串。这时,我们也可以来利用
getchar函数来实现了。
具体例子我就直接借用库函数网站的的一个例子了:
#include <stdio.h>
int main()
{
int c;
puts("Enter text. Include a dot ('.') in a sentence to exit:");
//puts函数和printf函数作用差不多。
//这段话的大概意思是:你输入的字符串在不包括'.'这个字符时,可以一直输入
//但是当出现'.'这个符号的时候,就会打印你之前输入的字符串。
do {
c = getchar();
putchar(c);
} while (c != '.');
return 0;
}