我想检测用户在按下 Enter 之前是否输入了字符
I want to detect if a character has been entered by the user before enter is pressed
我正在创建一个文本编辑器,这是它的代码:
#include <iostream>
#include <iomanip>
#include <stdlib.h>
#include <conio.h>
int main()
{
system("cls"); system("COLOR F0");
std::string input;
static int lineNo=0;
while(true)
{
lineNo+=1;
std::cout << lineNo << "t";
input=="{" ? std::cout << "t" : std::cout << "";
input=="(" ? std::cout << "t" : std::cout << "";
input=="[" ? std::cout << "t" : std::cout << "";
std::getline(std::cin, input);
}
return 0;
}
我想为括号创建一个自动完成工具,该工具在键入左括号后立即进入右括号。请帮助我,因为我只是一个初学者。
您可以使用 conio.h 库中的 getch() 函数仅扫描单个字符。您可以声明一个字符变量并扫描这样的大括号。
char in;
in=getch();
if(in=="{")
{
//Write your code according to your uses.
}
std::cin
是程序的标准输入。它(通常)并不意味着"用户的键盘",甚至不意味着"输入终端"或类似的东西。如何从cin
获取内容取决于如何将内容写入标准输入,这通常不会逐个字符发生。通常,您的终端仅在换行符后(在用户按回车键后)将数据发送到程序的标准输入,在这种情况下,您无法事先通过cin
访问该数据。
对于你所描述的内容,你需要使用(正如Joachim Pileborg指出的)特定于平台的功能,例如Windows上的PeekConsoleInput。您可能还会发现 GetAsyncKeyState 很有用。
相关文章:
- 检查输入是否不是整数或数字
- 是否有类似std::lower_bound的函数,而不需要排序/分区输入
- 检查TCHAR数组输入是否为带符号整数C++
- 检查输入 std::array 指针数据是否等于某个常量数组
- 是否可以在命令行中将输入参数传递给可执行文件
- 验证用户输入和整数是否C++
- 如何检查输入是否有效?
- 如何检查用户的输入是否有效以及我正在寻找的数字?
- 为什么复制构造函数不需要检查输入对象是否指向自身?
- 如何检查用户是否输入了元音字符?
- C 检测用户是否输入字符串而不是INT
- 如何检查用户是否输入了整数
- 提示再次运行程序:修复他们是否输入了无效语句
- 如何检查用户是否输入了有效值
- 我怎样才能进行倒计时,每秒检查一次是否输入了某些内容,而不会中断
- 我想检测用户在按下 Enter 之前是否输入了字符
- C++正在检查用户是否输入了有效答案
- 如何检查终端I/O导航时用户是否输入了错误的值
- 如何检查用户是否输入足够的项目
- 使用if语句查看用户是否输入了正确的字符串