繁体   English   中英

C++ cout 和 endl 无法在终端上正确打印

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM