Linux C 编程学习:getchar() 和 getch()

 2024-01-21 02:05:18  阅读 0

函数名称:

功能:从stdin流中读取字符

用法:int(void);

注解:

有一个int类型的返回值。 当程序被调用时,程序等待用户按键。 用户输入的字符会存储在键盘缓冲区中,直到用户按下回车键(回车字符也会放入缓冲区中)。 当用户键入 Enter 时,它开始从标准输入流中一次读取一个字符。 函数的返回值是用户输入的第一个字符的ASCII码。 如果发生错误,则返回-1,并将用户输入的字符回显到屏幕。 如果用户在按回车之前输入了多个字符,则其他字符将保留在键盘缓冲区中,等待后续调用读取。 也就是说,后续的调用不会等待用户按键,而是直接读取缓冲区中的字符。 它们不会等待用户按下某个键,直到读取缓冲区中的字符。

getch的基本功能是一样的。 不同的是getch直接从键盘获取键值,不等待用户按回车键。 只要用户按下一个键,getch就立即返回。 getch的返回值是用户输入的ASCII码。 如果发生错误,则返回-1。 输入的字符不会在屏幕上回显。 getch函数常用于程序调试。 调试时,在关键位置显示相关结果供查看,然后使用getch函数暂停程序。 当按下任意键时,程序继续运行。

演示:

#

int 主函数(无效)

整数c;

/* 请注意,从 stdin 读取并且

是线; 这意味着它将

直到您按 ENTER 键。 */

while ((c = ()) != '\n')

(“%c”,c);

0;

注:程序调试完毕后,可以使用()函数等待程序员按下键盘才返回编辑界面。 用法:添加(); 在主函数的末尾,0; 之前。

格奇

头文件:conio.h

函数目的:从控制台读取一个字符

函数原型:int getch(void)

返回值:读取的字符

例如:

字符ch; 或 int ch;

getch();或 ch=getch();

使用 getch(); 会等你按任意键才继续执行下面的语句;

使用 ch=getch(); 会等你按任意键,将按键字符对应的ASCII码赋给ch,然后执行下面的语句。

常见错误:

1、头文件为conio.h。 而不是 stdio.h。

2、使用前调用(),最后调用()。否则会出现函数输入不了字符的情况。

也将被退回。

3、不同平台上,输入回车,getch()会返回不同的值,()统一返回10(即\n)

1)平台上的ENTER键会生成两个转义字符\r\n,所以getch返回13(\r)。

2) 在unix和linux系统中,ENTER键只生成\n,所以getch返回10(\n)。

3) MAC OS 中的 ENTER 键会生成 \r,因此 getch 返回 13(\r)。

getch(); 不是标准 C 中的函数,也不存在于 C 语言中。 因此,在使用时要注意程序的可移植性。 国内C语言新手经常使用getch(); 暂停程序,不知道这个函数的来源。 推荐使用(); 而不是这个函数或更改编译器。

- - - - - - - - - - - - - - - 分向線 - - - - - - - - - ----------

C++ Plus 6th 中文版 明确有书签 PDF+源代码

阅读 C++ 中的构造函数陷阱

读取 C++ 中的智能指针

阅读C++中的句柄类

我们来梳理一下C语言,分为以下10章:

Linux-C 成长之路(一):Linux 下 C 编程概述 Linux-C 成长之路(二):基本数据类型 Linux-C 成长之路(三):基本 IO 函数操作Linux-C 成长之路(四)):算子 Linux-C 成长之路(五):控制流 Linux-C 成长之路(六):功能要领 Linux 成长之路-C(7):数组与指针 Linux-C 的成长之路(8):存储类、动态内存 Linux-C 的成长路径(9):复合数据类型 Linux-C 的成长路径(10):其他进阶主题

本文永久更新链接地址:

标签: 字符 函数 返回

如本站内容信息有侵犯到您的权益请联系我们删除,谢谢!!


Copyright © 2020 All Rights Reserved 京ICP5741267-1号 统计代码