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 ... : " << 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 ответ
Этот симптом - случай из учебника ncurses, который неправильно завершил работу и оставил терминал в неправильном "режиме". Просто откройте новый терминал, чтобы исправить это.
Если приложение ncurses завершило работу корректно, оно пропускает некоторые деинициализации (endwin()
?) в конце main
, который либо для вас исправить (если вы написали приложение), либо для вас, чтобы сообщить разработчикам (в противном случае).