Как очистить консоль в с
Перейти к содержимому

Как очистить консоль в с

  • автор:

unixforum.org

Самый простой способ, еще с паскаля, это напечатать пустых строчек, штук 200 для надежности.
А вообще. без какой то либы не обойтись.

Если жизнь твоя порвется, тебе новую сошьют.
Спасибо сказали:
eugrus Сообщения: 179

Re: очистка консоли C

Сообщение eugrus » 03.01.2005 12:55

(demongloom @ Понедельник, 03 Января 2005, 6:41) писал(а): Самый простой способ, еще с паскаля, это напечатать пустых строчек, штук 200 для надежности.
А вообще. без какой то либы не обойтись.

в curces.h точно есть!
только не помню где

а вобще я щас подумал вот что:

#include void main()

сейчас буду проверять

Спасибо сказали:
Ananas Сообщения: 64

Re: очистка консоли C

Сообщение Ananas » 06.01.2005 14:49

echo -ne ‘\e[0d\e[2J’ — для скриптов
printf («\033[0d\033[2J»); — для С
Спасибо сказали:
nercus Сообщения: 150

Re: очистка консоли C

Сообщение nercus » 06.01.2005 21:34

Еще полезная ссылочка http://opennet.ru/base/dev/console_ctl.txt.html. чего только не найдешь в bookmarks:)

2.6.14-gentoo-r5
kde-3.5.0 | openbox-3.2
Deep Purple | Rob Zombie | Led Zeppelin | ДДТ
Спасибо сказали:
webdeveloper Сообщения: 13

Re: очистка консоли C

(eugrus @ Суббота, 01 Января 2005, 2:38) писал(а): как полность очистить консоль от текста?

предпологаю это можно решить какой-то функцией из библиотеки ncurces — подскажите pls

А как в windows clrscr() который в библиотеке conio.h не будет работать?
Спасибо сказали:
eugrus Сообщения: 179

Re: очистка консоли C

Сообщение eugrus » 07.01.2005 12:57

А как в windows clrscr() который в библиотеке conio.h не будет работать?

по идеи conio.h это вобще досовская библиотека

использование её функций даже под виндой не реккомендуется

в gcc её вобще нет (хотя в bcc для *nix включили)

вобщем решение уже найдено:

это как я делал в начале system(«clear») или как подсказал Ananas (спасибо ему за это ) printf(«\033[0d\033[2J»)

Как очистить консоль

Как программно очистить буфер обмена
using System.Runtime.InteropServices; public static extern int.

Как программно отключить\очистить DNS-кэш
Задача в том чтобы выполнять DNS resolve по указанному хосту и засекать время резолва. Проблемма -.

Как удалить или очистить файл, используемый другим процессом?
Есть приложение, которое 3 раза в минуту записывает данные в текстовый файл. Нужно написать.

Как добавить консоль в форму
Есть приложение WindowForm. Как добавить к нему консоль для отладки и вывода (только вывода).

Регистрация: 03.11.2009
Сообщений: 723

Лучший ответ

Сообщение было отмечено как решение

Решение

Console.Clear();
Регистрация: 29.06.2010
Сообщений: 43
Как сделать чтобы при перерисовке экрана не было мерцания. Например у меня есть такой код:

1 2 3 4 5
for (int i =0; i10000; i++) { Console.Clear(); Console.Write(i); }

Если так делать, то будет мерцание из-за задержки между очисткой экрана и выводом i на экран, как от этого избавиться?

Заблокирован

Лучший ответ

Сообщение было отмечено как решение

Решение

ЦитатаСообщение от bit_x64 Посмотреть сообщение

Как сделать чтобы при перерисовке экрана не было мерцания. Например у меня есть такой код:

1 2 3 4 5
for (int i =0; i10000; i++) { Console.Clear(); Console.Write(i); }

Если так делать, то будет мерцание из-за задержки между очисткой экрана и выводом i на экран, как от этого избавиться?

Не очищай, а просто выводи поверх старых чисел:

1 2 3 4 5
for (int i = 0; i  10000; i++) { Console.SetCursorPosition(0, 0); Console.Write(i); }

Очистка консоли

@Vasya Можете сделать так system( «cls» ); Вместо cls можете использовать ту команду OS, которая очищает экран.

4 дек 2015 в 15:02
@VladfromMoscow это ведь требует
4 дек 2015 в 15:03
@Vasya «Без» вы ничего не сделаете, так как любая функция требует подключение библиотеки.
4 дек 2015 в 15:15
@Mike, костылеориентированное программирование, люблю такое 😀
4 дек 2015 в 15:27

2 ответа 2

Сортировка: Сброс на вариант по умолчанию

#include int main(int argc, char* argv[])
void clear() < COORD topLeft = < 0, 0 >; HANDLE console = GetStdHandle(STD_OUTPUT_HANDLE); CONSOLE_SCREEN_BUFFER_INFO screen; DWORD written; GetConsoleScreenBufferInfo(console, &screen); FillConsoleOutputCharacterA( console, ' ', screen.dwSize.X * screen.dwSize.Y, topLeft, &written ); FillConsoleOutputAttribute( console, FOREGROUND_GREEN | FOREGROUND_RED | FOREGROUND_BLUE, screen.dwSize.X * screen.dwSize.Y, topLeft, &written ); SetConsoleCursorPosition(console, topLeft); > 
void clear()

Тут можно посмотреть другие известные варианты очистки экрана консоли.

asm вариант для особо одаренных:

PUSHA ; XOR EAX, EAX ; XOR EBX, EBX ; XOR ECX, ECX ; XOR EDX, EDX ; MOV AH, 6 ; MOV DX, 174fh ; INT 10h ; POPA ; 

Данный вариант не будет работать в защищенном режиме.

Как очистить консоль в c++?

можно очистить консоль?
P.S. можно решение только под Win — без разницы.

  • Вопрос задан более трёх лет назад
  • 52910 просмотров

Комментировать

Решения вопроса 2

Если только под винду то

#include void ClearScreen() < HANDLE hStdOut; CONSOLE_SCREEN_BUFFER_INFO csbi; DWORD count; DWORD cellCount; COORD homeCoords = < 0, 0 >; hStdOut = GetStdHandle( STD_OUTPUT_HANDLE ); if (hStdOut == INVALID_HANDLE_VALUE) return; /* Get the number of cells in the current buffer */ if (!GetConsoleScreenBufferInfo( hStdOut, &csbi )) return; cellCount = csbi.dwSize.X *csbi.dwSize.Y; /* Fill the entire buffer with spaces */ if (!FillConsoleOutputCharacter( hStdOut, (TCHAR) ' ', cellCount, homeCoords, &count )) return; /* Fill the entire buffer with the current colors and attributes */ if (!FillConsoleOutputAttribute( hStdOut, csbi.wAttributes, cellCount, homeCoords, &count )) return; /* Move the cursor home */ SetConsoleCursorPosition( hStdOut, homeCoords ); >

Ответ написан более трёх лет назад

Нравится 2 1 комментарий

Csklassami

Ivan Ivanov @Csklassami Автор вопроса

@galexcode эту функцию можно как исходник использовать, я имею ввиду надо ли в ней разбираться, потому что я больше половины не понял) или просто запомнить и вставлять?

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *