[英]C++ cout and endl not printing correctly on terminal
由于某种原因,我的 cout 语句无法在我的终端上正确打印。 它创造了空间。 当我有以下代码时:
void Test::testSorted(){
vector<int> unsorted = {4, 6, 5, 2, 1, 3};
vector<int> sorted = {1, 2, 3, 4, 5, 6};
cout << "Testing isSorted function for unsorted Pancake ... : " << endl;
game.setPancakeStack(unsorted);
bool condition1 = game.isStackSorted();
cout << "Testing isSorted function for sorted Pancake ... : " ;
game.setPancakeStack(sorted);
bool condition2 = game.isStackSorted();
}
终端以精确的空间量精确输出:
Testing isSorted function for unsorted Pancake ... :
Testing isSorted function for sorted Pancake ... :
注意:我一直在为一个项目使用 ncurses,我觉得这可能弄乱了我的外壳。 但我不知道去哪里解决这个问题
此症状是 ncurses 应用程序未正确退出并使终端处于错误“模式”的教科书案例。 只需打开一个新终端即可修复它。
如果 ncurses 应用程序确实退出了,那么它在main
的末尾缺少一些去初始化(endwin()
?),这要么供您修复(如果您编写应用程序),要么供您向开发人员报告(否则)。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.