初学小白,这种情况如何解决?请各位哥哥姐姐帮帮我,谢谢。

Enrika 2024-02-05 23:28:06

 

...全文
233 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复 1

您遇到了一个名为"getch.h"的文件缺失的问题。通常情况下,在 C 或 C++ 中,"getch.h"并不是标准库的一部分。实际上,"getch.h"通常用于提供在控制台中读取单个字符而无需按 Enter 键的功能。
如果您希望在 Windows 平台上实现这种功能,可以使用 conio.h 头文件中的 getch() 函数。但是需要注意的是,conio.h 是非标准的头文件,不建议在跨平台开发中使用。

Enrika 02-06
  • 举报
回复
@my_darling28 我试了一下还是没能解决,但是还是非常感谢您的指导。
  • 举报
回复
@Enrika <getch.h> 是一个在一些旧版本的 C 或 C++ 编译器中使用的头文件,用于实现从控制台中读取单个字符而不需要回显。然而,在较新的标准中,这个头文件已经被弃用,并且在一些编译环境下可能无法找到。如果您在使用较新的编译器或开发环境,并且遇到了 "error: getch.h: No such file or directory" 这样的错误,可以考虑使用替代方案来实现类似的功能。以下是一种可能的替代方案: c #include <stdio.h> #include <termios.h> #include <unistd.h> int mygetch() { struct termios oldt, newt; int ch; tcgetattr(STDIN_FILENO, &oldt); newt = oldt; newt.c_lflag &= ~(ICANON | ECHO); tcsetattr(STDIN_FILENO, TCSANOW, &newt); ch = getchar(); tcsetattr(STDIN_FILENO, TCSANOW, &oldt); return ch; } 上面的代码示例定义了一个函数 mygetch(),它通过调整终端属性来实现从控制台中读取单个字符而不回显。您可以在您的程序中使用这个函数来替代 <getch.h> 中的功能。

69,283

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧