小编Uma*_*air的帖子

C++ 如何从控制台删除一行?

所以我正在编写这段代码,并使用了 switch 语句。我想要做的是,当选择任何无效选项时,程序应该显示一条消息,然后在一段时间后仅清除该消息,同时保持选项仍在屏幕上。在到目前为止的代码中,我使用 Windows.h 库的 Sleep 函数进行暂停,还使用 ​​goto 返回询问选项,但似乎不知道如何从屏幕上删除错误消息。我无法使用,system("cls");因为在选择此选项之前我有一个菜单,有点像登录,所以我不希望它消失,直到选择了有效的选项。这是我的代码:

cout<<endl<<"\t\t\t\t\t\t                            - Access Denied! -"<<endl;
cout<<"\t\t\t\t\t\t                         + Press [1] To Try Again. +"<<endl;
cout<<"\t\t\t\t\t\t                         + Press [2] To Go Back. +"<<endl;
char TryAgain = ' ';
cout<<"\t\t\t\t\t\t                                 >>[ ]<< ";
InvalidOption:
SetConsoleCursorPosition(hStdout, { 84, 14 });
cin>>TryAgain;
switch (TryAgain)
{
    case '1':
        goto LoginAgain;
    case '2':
        break;
    default:
        {
            cout<<"\t\t\t\t\t                            Select A Valid Option!";
            Sleep ( 450 );
            cout << "\b";
            goto InvalidOption;
        }
}
Run Code Online (Sandbox Code Playgroud)

是的,我正在使用大量的/t,也许还有一堆其他的东西,但这只是我正在尝试的示例代码,而不是直接在我的原始项目上进行实验。

c++ windows-console

2
推荐指数
1
解决办法
5094
查看次数

标签 统计

c++ ×1

windows-console ×1