powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / C++ [игнор отключен] [закрыт для гостей] / Стереть в консоли 1 строку
25 сообщений из 27, страница 1 из 2
Стереть в консоли 1 строку
    #39374101
ukugyul552465
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
На экран в конслои выводятся несколько строк, к примеру, 15.
Необходимо стереть 1/2/3 строки (не все).
Возник вопрос - как это сделать?
Попытался найти, что-то не нашёл решение.
Может быть, что-то, связанное с sstream?

P.S. Полная очистка консоли не подходит.
...
Рейтинг: 0 / 0
Стереть в консоли 1 строку
    #39374160
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
\r переход в начало строки. На счет стереть не знаю, но можно изначально не загаживать.
...
Рейтинг: 0 / 0
Стереть в консоли 1 строку
    #39374163
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ukugyul552465Возник вопрос - как это сделать?
Вывести в эти строки пробелы на всю доступную ширину.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Стереть в консоли 1 строку
    #39374172
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ukugyul552465,

Как бы не на любой консоли можно что-то стереть...
Если это терминал, и ты с ним работаешь чем-то типа curses/ncurses , там просто пишется повер строка из пробелов.
Если это телетайп-терминал, и ты с ним работаешь только вводом/выводом стандартным, то ничего стереть невозможно.
То, что коллеги написали про '\r' -- это как раз из первого случая.

авторМожет быть, что-то, связанное с sstream?

Это как раз из второго случая. Ничего стереть нельзя.
...
Рейтинг: 0 / 0
Стереть в консоли 1 строку
    #39374175
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ukugyul552465P.S. Полная очистка консоли не подходит.

Полной очистки консоли тоже не всегда можно добиться.
Большинство терминалов эту очистку делают просто выводом N переводов строк, где N -- высота терминала, так, что экран прокручивается вверх на один пустой экран. При этом ничего не стирается ниоткуда.
...
Рейтинг: 0 / 0
Стереть в консоли 1 строку
    #39374188
Фотография Изопропил
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MasterZivukugyul552465P.S. Полная очистка консоли не подходит.

Полной очистки консоли тоже не всегда можно добиться.
Большинство терминалов эту очистку делают просто выводом N переводов строк, где N -- высота терминала, так, что экран прокручивается вверх на один пустой экран. При этом ничего не стирается ниоткуда.
Терминалы еще принимают esc[2J
...
Рейтинг: 0 / 0
Стереть в консоли 1 строку
    #39374189
Товарищ младший сержант
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MasterZivukugyul552465P.S. Полная очистка консоли не подходит.

Полной очистки консоли тоже не всегда можно добиться.
Большинство терминалов эту очистку делают просто выводом N переводов строк, где N -- высота терминала, так, что экран прокручивается вверх на один пустой экран. При этом ничего не стирается ниоткуда.
Человек не уточняет, что за "консоль" и спрашивает о таких простых вещах - и ты думаешь, что "консоль" какая-то особенная?
...
Рейтинг: 0 / 0
Стереть в консоли 1 строку
    #39374207
Фотография Изопропил
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Товарищ младший сержант,

Вангую — ANSI ескейпы — примет
...
Рейтинг: 0 / 0
Стереть в консоли 1 строку
    #39374214
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ukugyul552465, то что ты хочешь - уже не консоль. Простая консоль
- предполагает принтабельные свойства. Тоесть то что ушло в "печать"
будет напечатано и точка.

Но есть просто другое API (возможно ncurses ) и на котором возможно
написаны такие приложения как Midnight Commander. Возможно именно такое API
тебе будет нужно.
...
Рейтинг: 0 / 0
Стереть в консоли 1 строку
    #39374228
Фотография Изопропил
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton,

Не всякий терминал — телетайп
...
Рейтинг: 0 / 0
Стереть в консоли 1 строку
    #39374235
egorych
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ukugyul552465На экран в конслои выводятся несколько строк, к примеру, 15.
Необходимо стереть 1/2/3 строки (не все).
Возник вопрос - как это сделать?clr, потом повторить 12/13/14 оставшихся строк.
PS хз, что такое конслои, я решил, что это экранная консоль
...
Рейтинг: 0 / 0
Стереть в консоли 1 строку
    #39374238
Фотография Изопропил
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
egorychхз, что такое конслои, я решил, что это экранная консоль
это априори не означает, что она не понимает ANSI терминал ескейпы
...
Рейтинг: 0 / 0
Стереть в консоли 1 строку
    #39374299
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonukugyul552465, то что ты хочешь - уже не консоль. Простая консоль
- предполагает принтабельные свойства. Тоесть то что ушло в "печать"
будет напечатано и точка.

Но есть просто другое API (возможно ncurses ) и на котором возможно
написаны такие приложения как Midnight Commander. Возможно именно такое API
тебе будет нужно.


именно ncurses и используется....
...
Рейтинг: 0 / 0
Стереть в консоли 1 строку
    #39374301
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MasterZiv,

короче, ТС, тебе либо использовать ncurses, либо, если используешь только стандартный ввод- вывод, просто переписывай заново весь образ экрана, для этого надо будет знать его размер, что через стандартный вывод получить невозможно, но можно задать в настройках.
старый образ экрана при этом будет сдвигаться вверх на один экран, а не стираться, и все будет медленно рисоваться, но можно и так заставить это работать.
...
Рейтинг: 0 / 0
Стереть в консоли 1 строку
    #39374330
Фотография Изопропил
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MasterZiv,

издеваешься?
ANSI/VT100 Terminal Control Escape Sequences

"\x1b[1A" - курсор вверх на одну строку(параметром задаётся)
"\x1b[0J" - стирание от тек позиции до конца экрана
"\x1b[0K" - стирание от тек позиции до конца строки

PS сегодня найти консоль без поддержки ANSI ескейп-последовательностей довольно трудно
...
Рейтинг: 0 / 0
Стереть в консоли 1 строку
    #39374341
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Изопропил, я-б протестил это на Windows.
...
Рейтинг: 0 / 0
Стереть в консоли 1 строку
    #39374415
Фотография Изопропил
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton,

конечно работает и много лет

не веришь - плюнь в консоль несколько байт
это во времена DOS нужно было драйвер ansi.sys руками подключать.
...
Рейтинг: 0 / 0
Стереть в консоли 1 строку
    #39374431
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А ну ОК. Тогда я не против.
...
Рейтинг: 0 / 0
Стереть в консоли 1 строку
    #39374460
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ИзопропилMasterZiv,

издеваешься?
ANSI/VT100 Terminal Control Escape Sequences

"\x1b[1A" - курсор вверх на одну строку(параметром задаётся)
"\x1b[0J" - стирание от тек позиции до конца экрана
"\x1b[0K" - стирание от тек позиции до конца строки

PS сегодня найти консоль без поддержки ANSI ескейп-последовательностей довольно трудно

Да в винде это вообще всё не работает.
Чтобы оно работало, надо было всегда в дос-боксе запускать специальный драйвер, чтобы он
ловил эти последовательности и преобразовывал их в вызовы DOS/BIOS.

Управляющие последовательности ANSI

А что-то мне подсказывает, что топикстартеру нужен именно Windows...
...
Рейтинг: 0 / 0
Стереть в консоли 1 строку
    #39374508
Фотография Изопропил
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MasterZivДа в винде это вообще всё не работает.
2016 год заканчивается....

и дос-бокса нету...

и "специальный драйвер" ansi.sys давно не нужен...

попробуй - зашли в винде ескейп в консоль ))))
...
Рейтинг: 0 / 0
Стереть в консоли 1 строку
    #39374564
Владимир2012
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ответ не знаю /не когда заниматься решением этого вопроса/, а вот способ как найти ответ подскажу.
В http://stackoverflow.com/ делаете запрос типа: "console program in c++" ...

How do I clear the console in BOTH Windows and Linux using C++ http://stackoverflow.com/questions/228617/how-do-i-clear-the-console-in-both-windows-and-linux-using-c?rq=1
...
Рейтинг: 0 / 0
Стереть в консоли 1 строку
    #39374584
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Прошу прощения за offtop.
...
Рейтинг: 0 / 0
Стереть в консоли 1 строку
    #39374588
Владимир2012
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonПрошу прощения за offtop.Да какие проблемы?
Мы же не роботы, которые и улыбнуться не могут ... /ну как бы все в меру/
...
Рейтинг: 0 / 0
Стереть в консоли 1 строку
    #39374647
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ИзопропилPS сегодня найти консоль без поддержки ANSI ескейп-последовательностей довольно трудно
...
Рейтинг: 0 / 0
Стереть в консоли 1 строку
    #39374679
Фотография Изопропил
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Basil A. Sidorov,

1) ANSI ескейпы регистрозаисимы (j и J )
2) квадратная скобка часть ескейп-последовательности.

что сделает
echo ^[[2J
?
...
Рейтинг: 0 / 0
25 сообщений из 27, страница 1 из 2
Форумы / C++ [игнор отключен] [закрыт для гостей] / Стереть в консоли 1 строку
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]