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

C++ C++;无法在终端上正确打印cout和endl,c++,cout,endl,C++,Cout,Endl,由于某些原因,我的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 ... : " &l

由于某些原因,我的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(); 
}

注意:我一直在为一个项目使用ncurses,我觉得这可能会把我的shell搞砸。但是我甚至不知道该从哪里解决这个问题

这个症状是一个教科书上的案例,一个ncurses应用程序没有正确退出,终端处于错误的“模式”。只要打开一个新的终端来修复它


如果ncurses应用程序确实完全退出了,那么它在
main
的末尾缺少了一些初始化(?),这要么由您来修复(如果您编写了该应用程序),要么由您向开发人员报告(否则)。

如果您担心您的shell出错,您是否尝试退出shell并在新的shell中运行它?如果您杀死或退出了一个curses应用程序而没有让它正确清理,那么您可能会遇到这样的问题。如果curses程序是你的,那么确保你自己清理干净,然后干净地退出。另外,你确定你的函数中没有可以打印空白的内容吗?您是否尝试过注释所有内容并仅运行输出语句以确保它实际上是您的终端?是的,我尝试过注释所有内容并打印内容,但它给了我那些空白。问题并没有明确说明代码是ncurses应用程序的一部分,还是ncurses内容是无关的以前和现在你只是想解开你的壳。如果是后者,命令行实用程序
reset
应该会有所帮助。
Testing isSorted function for unsorted Pancake ... : 
                                                     Testing isSorted function for sorted Pancake ... :