C ++ cout и endl неправильно печатают на терминале - PullRequest
0 голосов
/ 02 ноября 2018

По какой-то причине мои операторы 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 для проекта, и я чувствую, что это могло испортить мою оболочку. Но я не знаю, где вообще искать, чтобы решить эту проблему

1 Ответ

0 голосов
/ 02 ноября 2018

Этот симптом - случай из учебника ncurses, который не завершил работу должным образом и оставил терминал в неправильном «режиме». Просто откройте новый терминал, чтобы исправить это.

Если приложение ncurses завершило работу корректно, в конце main отсутствуют некоторые деинициализации (endwin()?), Которые нужно исправить (если вы написали приложение) или для вас, чтобы сообщить разработчикам (в противном случае).

...