C++ 使用enter键继续,使用esc键退出C++;

C++ 使用enter键继续,使用esc键退出C++;,c++,C++,我不熟悉这一点,如果按enter键,我会尝试继续,如果按esc键,我会尝试退出。实际上,我只是想了解一些知识,对于我目前正在编写的程序来说,这并不是完全必要的 #include <iostream> #include <iomanip> void StartMessage(char cont) { while (cont != 27) { std::cout << "> PROTOCOL: Overloaded Hospital

我不熟悉这一点,如果按enter键,我会尝试继续,如果按esc键,我会尝试退出。实际上,我只是想了解一些知识,对于我目前正在编写的程序来说,这并不是完全必要的

#include <iostream>
#include <iomanip>

void StartMessage(char cont)
{
    while (cont != 27)
    {
    std::cout << "> PROTOCOL: Overloaded Hospital\n"
        << "> Running. . .\n"
        << "> Hello\n"
        << "> Enter to Continue, Esc to exit";
    std::cin.get();
    }
}


int main()
{

//Variables
char cont = '0';

//Constants

StartMessage(cont);

return 0;
}
#包括
#包括
void StartMessage(字符续)
{
而(续=27)
{

std::cout嗯,不可能检查一个键是否被按下,如果没有,则继续。您需要等待,直到用户按下enter键并 在代码中,有一个无限循环,不要忘记更新cont

cont = std::cin.get();
#包括
#包括
int main()
{
while(true)
{//GetAsyncKeyState获取虚拟密钥代码
if(GetAsyncKeyState(VK_ESCAPE){

STD::正如其他人所说的,终端将等待一个完整的测试行,然后是一个换行符,所以你不能真正地用C++来获得这个行为,独立于平台。终端也不会接受一个只输入一个新行的空白输入。如果你想用C++实时输入,你可以看到一些库(比如SDL)。,但对于初学者来说,这可能不是一个好的起点

类似于此的内容将提供与您想要的类似的行为:

#include <iostream>


void StartMessage()
{
    std::string s;
    do
    {
    std::cout << "> PROTOCOL: Overloaded Hospital\n"
        << "> Running. . .\n"
        << "> Hello\n"
        << "> Esc to exit";


    std::cin >> s;
    } while(s[0] != 27);
   std::cout << "\nExiting\n";
}


int main()
{



StartMessage();

return 0;
}
#包括
void StartMessage()
{
std::字符串s;
做
{
std::cout>s;
}而(s[0]!=27);

STD::终端应用程序的正常行为是,终端等待输入的整个文本行,然后在程序读取之前将新行作为整个行。C++标准不包括终端程序行为。这通常是操作系统特定的行为。例如,在Linux上,S。这样的操作是通过将终端置于“原始”模式来完成的,在该模式下,每个按键都可供程序读取,由程序处理退格、回车等操作。。。
#include <iostream>


void StartMessage()
{
    std::string s;
    do
    {
    std::cout << "> PROTOCOL: Overloaded Hospital\n"
        << "> Running. . .\n"
        << "> Hello\n"
        << "> Esc to exit";


    std::cin >> s;
    } while(s[0] != 27);
   std::cout << "\nExiting\n";
}


int main()
{



StartMessage();

return 0;
}