2012-04-14 4 views
0

Я пишу простое имя с контуром терминала. Но когда я получаю ввод с использованием cin, моя граница испортится. Есть ли способ предотвратить появление новой строки после ввода ввода с помощью cin?Я не хочу выходить на новую строку после использования std :: cin

Я использую Xcode 4.

+0

Как это испортиться? –

+0

Что вы подразумеваете под защитой newline? – vidit

+0

Например, когда я использую cin >> myInput; , После ввода моего ввода он переходит к новой строке. он делает то же самое с endline после ввода моего ввода, не хочу, чтобы это произошло. –

ответ

2

Если вы хотите полный контроль над дисплее терминала, вы, вероятно, необходимо использовать curses библиотеку, или что-то подобное (ncurses на системах GNU, например). Это позволяет вам управлять отображением символов и подавлять автоматическое эхо символов во время ввода, и поэтому не будет никакой новой строки. Но вы больше не будете использовать stdin::cin.

Использование std::cin означает, что вам необходимо будет принять, что ваша программа не видит никаких данных до тех пор, пока не будет напечатана новая строка, и что терминал будет часто прокручиваться в этой точке. (Не всегда, если текущая строка находится в верхней части экрана, тогда прокрутки не будет.)