gpt4 book ai didi

c - C中的暂停功能不响应回车键

转载 作者:太空宇宙 更新时间:2023-11-04 07:24:52 24 4
gpt4 key购买 nike

char keyin, buffer[1024]; 
do
{
keyin=gets(buffer);
}
while (keyin != "\n");

我一直在尝试用 C 编写一个暂停函数,用户可以通过按 Enter 键退出暂停状态。用户写入“暂停”并执行此功能的地方。我已经研究这个功能一段时间了,但它让我望而却步。我已经以几种不同的方式实现了代码,但没有一种有效。我怀疑这是因为“\n”与键盘输入的比较。我认为“\n”不会直接转换为回车键。

最佳答案

您不需要 while 循环来等待单个 Enter 键按下。它会等待(您可以按任意键)直到您按 Enter:http://en.cppreference.com/w/c/io/gets

但是您需要保留大量空间——如果有人一直按任何其他键“直到发生某些事情”怎么办?缓冲区将溢出,您的程序将(很可能)崩溃。

您可能想使用 getchar -- 这将一次返回一个按键。

注意:Enter 键通常发送 ASCII 代码 13 (0x0D),而不是 10 (0x0A)。您可以改用“\r”(注意其他人对“字符”与“字符串”的注释!),或防止所有混淆并使用十六进制或十进制值。

这与您在输出时习惯的 '\n' 的行为不同,因为只有某些函数会将文本中的代码 '\n' 扩展或转换为您的操作系统所需的行尾序列。

关于c - C中的暂停功能不响应回车键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19193110/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com