所以我正在尝试为我的项目编写一个程序,我已经完成了。现在我想做的是让控制台看起来更设计一些,例如:
cout<<"tttttt Please Login With Admin Credentials!"<<endl;
cout<<"tttttt ==================================="<<endl;
cout<<"tttttt + [=] Enter Username: +"<<endl;
cout<<"tttttt + [=] Enter Password: +"<<endl;
cout<<"tttttt ==================================="<<endl;
现在,我希望用户在此特定设计中输入用户名和密码。如您所见,我希望在+之前输入用户名和密码。可能吗?
不能使用退格键返回到前面的行,但可以在执行期间使用cin
。
如果您考虑以下几点:
std::string something, something2;
cout<<" Please Login With Admin Credentials!"<<endl;
cout<<" ==================================="<<endl;
cout<<" + [=] Enter Username: +";
for (int i = 1; i <= 12; i++) {
std::cout << 'b'; // ---------- backspace 12 times
}
std::cin >> something;
cout<<" + [=] Enter Password: +";
for (int i = 1; i <= 12; i++) {
std::cout << 'b'; // ---------- backspace 12 times
}
std::cin >> something2;
cout<<" ==================================="<<endl;
将输出如下内容:
Please Login With Admin Credentials!
===================================
+ [=] Enter Username:hello + // takes input 1
+ [=] Enter Password:howareyou + // takes input 2
===================================
从我的角度来看,这是在不增加任何代码复杂性的情况下实现您的需求的最简单方法。
我遵循了 Alex 的建议,在 Windows.h 库下使用HANDLE hStdout = GetStdHandle(STD_OUTPUT_HANDLE); SetConsoleCursorPosition(hStdout, { 1, 1 });
,它工作得很好!只需要找出我的光标的坐标。