在C/C++中使用getch()函数
在这篇文章中,我们将讨论在C/C++中使用getch()函数。
如果你想从键盘读取一个字符输入,getch() 函数非常有用。
虽然这不是C标准的一部分,但这仍然是一个POSIX C函数。因此,我们仍然可以在Windows / Linux / Mac上使用这个函数。
让我们来看一下使用这个功能,并用几个例子来说明。
C/C++中getch()函数的基本语法
这个函数从标准输入(stdin)中获取一个单一字符,并返回一个整数。
这是头文件的一部分,所以你必须将它包含在你的程序中。
#include <conio.h>
int getch();
这个函数不接受任何参数。
在这里,getch()返回从标准输入读取的字符的ASCII值。
例如,如果我们将字符’0’作为输入,它会返回字符’0’的ASCII值,即49。
现在,在C / C++中,我们可以直接将字符转换为整数。因此,强制类型转换时,ASCII值49将被转换为字符值’0’!
现在让我们来看一些例子。
在C/C++中使用getch()函数-一些示例
作为一个简单的例子,让我们首先看看阅读一个单个字符。
#include <stdio.h>
#include <conio.h>
int main() {
char ch = getch();
printf("Received Input: %c\n", ch);
return 0;
}
样本输出。
Received Input: a
输⼊‘a’ 然后我得到了这个输出。 现在让我们来看⼀个等待从键盘输⼊5个字符的程序。
注意,getch()不会显示键盘输入。因此,当你输入时,光标不会显示输入内容。
在我们获取到所有5个字符之后,让我们展示完整的字符串。
#include <stdio.h>
#include <conio.h>
int main() {
// Set op = {0, 0, 0, 0, 0, 0} = '\0\0\0\0\0\0' string
char op[6] = {0};
for (int i=0; i<5; i++) {
op[i] = getch();
}
printf("Received 5 character Input: %s\n", op);
return 0;
}
产出
Received 5 character Input: Hello
确实,当我输入“你好”时,我确实正确地得到了输出。
请注意,我的输出字符串中包含6个字符,因为我们需要保留一个字节给‘\0’。所以op为“Hello\0”。
结论
在这篇文章中,我们学习了如何使用C/C++中的getch()函数从键盘接收字符输入。
如果你想了解更多关于C和C++的内容,可以浏览我们的C编程教程部分!
参考资料
- Linux Manual Page on getch() function in C