C 语言 conio.h

2024 年 8 月 28 日 | 阅读 6 分钟

本文将介绍 C 语言中非常有用的 conio.h 头文件。我们还将探讨 conio.h 中包含的函数以及 conio.h 在 C 编程语言中的用法。

C 语言中的 conio.h 是什么?

C 编程语言中最常用的头文件类型。它是控制台输入/输出的缩写。C 程序在输入和输出中使用了 conio.h 中的许多内置库函数。conio.h 文件中定义的函数可能会因编译器不同而有所差异。

为什么在 C 语言中使用 conio.h?

Conio.h 是一个头文件,包含许多内置函数,通常用于在控制台上执行输入/输出,或从用户键盘接收输入并在屏幕上显示结果。conio.h 的一些例程,如 getch(),用于暂停屏幕,直到用户按下一个键。

C 文件 conio.h 中声明的函数

conio.h 头文件包含许多函数,其中一些包括

  • clrscr()

此函数可用于清除屏幕上的输出。

代码

输出

Output After using clrscr() function
????????????????????..
Process executed in 1.11 seconds
Press any key to continue

说明

在这里,在上面的代码中,我们在打印两个语句之前使用了 clrscr() 函数,并包含了 stdio.h 和 conio.h 这两个头文件。因此,clrscr() 方法上方所有的语句都会被清除。

  • getch()

读取一个字符。它不显示字符回显。在继续或关闭应用程序之前,窗口应保持打开状态,直到用户输入任何内容。

代码

输出

Enter your character: Press any key to continue
????????????????????????????
Process executed in 1.22 seconds

说明

上面的代码中包含了 stdio.h 和 conio.h 这两个头文件,在打印一行以请求键盘输入后,我们使用了 getch() 方法,它将等待直到用户停止输入数据。

  • getche()

它在某种程度上类似于 getch(),但它也支持字母数字值。它同时输出作为输入的字符并在屏幕上回显该字符。

代码

输出

Enter your character: j Press any key to continue.
????????????????????????????
Process executed in 1.22 seconds

说明

因此,在上面的代码中,我们包含了 stdio.h 和 conio.h 这两个头文件,写了一行显示用户输入,然后使用 getche() 函数来获取一个字母数字字符并在同一时间将其打印到屏幕或控制台。

  • putch()

它在控制台或屏幕上打印或显示一个字符。

代码

输出

j Press any key to continue.
????????????????????????????
Process executed in 1.22 seconds

说明

使用 stdio.h 和 conio.h 这两个头文件,我们首先将一个字符放入字符串变量。然后,我们使用 putch() 并将变量传递给它,它会在屏幕上打印该字符。这与 getch() 方法中执行的操作相同。

  • cgets()

它从控制台接收一系列字符作为输入,直到接收到回车符 (CR) 和换行符 (LF)。新行的效果 (n) 是两者结合的结果。因此,字符串末尾的空终止符 (O) 用于替换这些 CR/LF 字符。

代码

输出

Input the character: Welcome to JavaTpoint
Output on the screen: Welcome to JavaTpoint 
???????????????????????????.
Press any key to continue.
Process executed in 0.11 seconds

说明

在这里,在上面的代码中,我们包含了 stdio.h 和 conio.h 这两个头文件,然后我们创建了一个大小为 100 的变量 s 和一个 str 变量来存储输入值,然后打印它。之后,我们使用 cgets() 输入一个字符串,然后将其存储在变量 s 中,最后一条语句打印该值。

  • cputs()

它在输出屏幕或终端上显示每一个字符字符串。

代码

输出

Welcome to JavaTpoint.
???????????????????????????.
Press any key to continue.
Process executed in 0.11 seconds

说明

在这里,在上面的代码中,我们包含了 stdio.h 和 conio.h 这两个头文件,然后我们使用了 cputs 来打印一个字符串,该字符串将在控制台上显示。

  • cscanf() 和 cprintf()

它们都与 scanf() 和 printf() 的工作方式类似。Scanf() 从控制台准备用户输入的输入,printf() 对字符串执行相同的操作,然后将格式化的字符串打印到控制台或屏幕。

输出

Enter your marks: 80 
Passed, 80 
???????????????
Press any key to continue
Process executed in 1.11 seconds

说明

在这里,在上面的代码中,我们包含了 stdio.h 和 conio.h 这两个头文件。然后,我们声明了一个名为 marks 的字符串类型变量,其大小为 50。接下来,我们使用 cprintf() 函数打印一行,使用 cscanf() 函数收集用户输入,然后再次使用 cprintf() 函数将字符串打印到控制台。

  • kbhit()

此功能使我们能够确定用户是否按下了任何键。为了确定玩家是否按下了任何键,它在许多游戏中都有使用。

代码

输出

To stop this loop press any key
To stop this loop press any key
To stop this loop press any key
... Until the key is pressed
??????????????????
Press any key to continue
Process executed in 1.11 seconds

说明

在上面的代码中,在包含 stdio.h 和 conio.h 这两个头文件后,我们在一个 while 循环中使用了 kbhit() 方法。因此,kbhit() 方法将继续循环,直到按下一个键,然后循环停止,程序将结束。

  • delline()

此功能用于从屏幕删除一行或多行。

代码

输出

Welcome to JavaTpoint
Due to the delline function being used below, this line will be cleared.
Text printed after using delline function.
??????????????????????????.
Press any key to continue
Process executed in 1.11 seconds

说明

在这里,在上面的代码中,我们包含了 stdio.h 和 conio.h 这两个头文件。之后,我们打印了两行,使用 delline 函数清除其正上方的行,然后再次打印一行以显示函数执行的结果。

  • gotoxy()

此方法的工作方式是它接收两个参数,然后使用这两个参数将光标移动到窗口中的特定点。

代码

输出

The cursor position has been changed.
...................................................................
Process executed in 1.11 seconds
Press any key to continue.

说明

上面的代码中包含了 stdio.h 和 conio.h 这两个头文件,之后我们选择了两个整数值并将它们作为参数传递给 gotoxy() 函数,该函数将在程序运行后修改光标位置。

  • wherey() 和 wherex()

此函数提供有关当前光标 X 和 Y 坐标的信息。wherey() 提供当前输出屏幕中光标的 y 坐标,而 wherex() 显示当前输出屏幕中光标的 x 坐标。

代码

输出

The Coordinates of X and Y are- (1,2)
...................................................................
Process executed in 1.11 seconds
Press any key to continue.

说明

上面的代码中包含了 stdio.h 和 conio.h 这两个头文件,然后我们取了两个整数 x 和 y,并将 wherex() 的值保存在 x 中,wherey() 的值保存在 y 中。接下来,我们打印了 x 和 y 的值,它们表示当前屏幕上指针的当前 x 和 y 坐标。