我正在创建一个文本编辑器,这是它的代码:
#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;
}
我想为括号创建一个自动完成工具,在打开括号后立即进入右括号。请帮助我,因为我只是一个初学者。
答案 0 :(得分:0)
您可以使用conio.h库中的getch()函数来扫描单个字符。您可以声明一个字符变量并扫描这样的大括号。
char in;
in=getch();
if(in=="{")
{
//Write your code according to your uses.
}
答案 1 :(得分:0)
std::cin
是您计划的标准输入。它(通常)不代表用户的键盘&#34;甚至&#34;输入终端&#34;或类似的东西。你如何从cin
获取东西取决于你的标准输入的写入方式,这通常不会逐个字符地发生。通常,您的终端仅在换行后(用户按下回车键)之后将数据发送到程序的标准输入,在这种情况下,您无法事先通过cin
获取该数据
对于您所描述的内容,您需要使用(如Joachim Pileborg所指出的)特定于平台的功能,例如Windows上的PeekConsoleInput。您可能还会发现GetAsyncKeyState有用。