我试图通过将控制台光标移回到开头并输出'\ n'来从控制台向下移动cout文本。但是,当我试图没有任何事情发生时。
#include <windows.h>
#include <iostream>
using namespace std;
int main() {
cout << "Hello!\nThis is a test!" << endl;
SetConsoleCursorPostion(GetStdHandle(STD_OUTPUT_HANDLE), {0, 0});
cout << '\n';
return 0;
}
无论如何都要将文字向下移动?
答案 0 :(得分:0)
首先,请编辑您的代码以更正错别字。
第二:(0,0)
将光标放在开头而不是底部
第三:cout
应该在SetConsoleCursorPosition
之后
最后:建议知道控制台窗口尺寸或使用其他功能来获取它。
如果您想要一些便利的控制台操作作为长期解决方案,请检查ncurses。
我使用以下代码进行测试,结果非常完美。
#include <windows.h>
#include <iostream>
using namespace std;
int main() {
SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE), {5, 5});
cout << "Hello!" << endl;
SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE), {5, 8});
cout << "This is a test!" << endl;
cout << '\n';
return 0;
}
答案 1 :(得分:0)
SetConsoleCursorPostion
的辅助参数是光标的坐标,因此您必须将其设置为:SetConsoleCursorPostion(GetStdHandle(STD_OUTPUT_HANDLE), {0, 2});
顺便说一下,你的代码没有编译(#includes
???,没有cout
的命名空间等等。)