Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ C++;如何将cin和cout放在同一条线上?_C++ - Fatal编程技术网

C++ C++;如何将cin和cout放在同一条线上?

C++ C++;如何将cin和cout放在同一条线上?,c++,C++,所以我正试图为我的项目编写一个程序,我已经差不多完成了。现在我要做的就是让控制台看起来更具设计感,例如: cout<<"\t\t\t\t\t\t Please Login With Admin Credentials!"<<endl; cout<<"\t\t\t\t\t\t ==================================="<<endl; cout<<

所以我正试图为我的项目编写一个程序,我已经差不多完成了。现在我要做的就是让控制台看起来更具设计感,例如:

cout<<"\t\t\t\t\t\t                 Please Login With Admin Credentials!"<<endl;
cout<<"\t\t\t\t\t\t                  ==================================="<<endl;
cout<<"\t\t\t\t\t\t                  +   [=] Enter Username:           +"<<endl;
cout<<"\t\t\t\t\t\t                  +   [=] Enter Password:           +"<<endl;
cout<<"\t\t\t\t\t\t                  ==================================="<<endl;

cout您不能使用backspace返回到前面的行,但可以在执行期间使用
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;

在我看来,这是实现您的需求的最简单的方法,没有任何代码复杂性。

您不能使用backspace返回到前面的行,但您可以在执行期间使用
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;

在我看来,这是实现您的需求而不需要任何代码复杂性的最简单的方法。

我按照Alex的建议使用
HANDLE hStdout=GetStdHandle(STD\u OUTPUT\u HANDLE);setConsoleorSorposition(hStdout,{1,1})在Windows.h库下&它工作得很好!我只需要算出光标的坐标。

我按照Alex的建议使用
HANDLE hStdout=GetStdHandle(STD\u OUTPUT\u HANDLE);setConsoleorSorposition(hStdout,{1,1})在Windows.h库下&它工作得很好!只需计算出我的光标的坐标。< /P>是的,但是你需要使用系统特定的终端函数或库,比如NCURSE。不使用标准C++功能。可能有特定于操作系统的功能来控制终端,或者您可以使用,或者某些终端控制库,如ncurses。如果您只想在windows下启动它,请查看文档-在windows下-包括“windows.h”,尝试使用HANDLE hStdout=GetStdHandle(STD\u OUTPUT\u HANDLE);SetConsoleCursorPosition(hStdout,{1,1});//将在坐标1,1上移动。坐标以字符为单位,(0,1)表示第一行的第二个字符。你必须计算+的位置。希望这有帮助。顺便说一句,您不应该使用制表符(\t)作为间距。该选项卡有两种含义:1)移动到下一个{defined}选项卡停止;或2)替代标准的间距。选项卡可以表示2、3、4、8或任意数量的间距。间距取决于字体;可变宽度字体可能具有多个间距,或者其间距可能小于其他字符。更喜欢使用I/O操作器的“宽度”。是的,但您需要使用系统特定的终端功能或库,例如NCURSE。不使用标准C++功能。可能有特定于操作系统的功能来控制终端,或者您可以使用,或者某些终端控制库,如ncurses。如果您只想在windows下启动它,请查看文档-在windows下-包括“windows.h”,尝试使用HANDLE hStdout=GetStdHandle(STD\u OUTPUT\u HANDLE);SetConsoleCursorPosition(hStdout,{1,1});//将在坐标1,1上移动。坐标以字符为单位,(0,1)表示第一行的第二个字符。你必须计算+的位置。希望这有帮助。顺便说一句,您不应该使用制表符(\t)作为间距。该选项卡有两种含义:1)移动到下一个{defined}选项卡停止;或2)替代标准的间距。选项卡可以表示2、3、4、8或任意数量的间距。间距取决于字体;可变宽度字体可能具有多个间距,或者其间距可能小于其他字符。更喜欢使用I/O操纵器的“宽度”。