Аватар для dima koz
23 / 17 / 7
Регистрация: 05.06.2012
Сообщений: 72
Записей в блоге: 5

Аналог clrscr() и system("cls")

19.06.2012, 20:28. Показов 16605. Ответов 21
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Нашел в просторах инета аналог clrscr() и system("cls").
Может быть, кому-то будет полезна.

Проверял на MS VC++ 2010.

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
#include "iostream"
#include "windows.h"
 
void cls( HANDLE hConsole );
 
int _tmain(int argc, _TCHAR* argv[])
{
    HANDLE hStdout;
 
    hStdout = GetStdHandle(STD_OUTPUT_HANDLE);
 
    cls(hStdout);
    
    return 0;
}
 
 
void cls( HANDLE hConsole )
{
   COORD coordScreen = { 0, 0 };    // home for the cursor 
   DWORD cCharsWritten;
   CONSOLE_SCREEN_BUFFER_INFO csbi; 
   DWORD dwConSize;
 
    // Get the number of character cells in the current buffer. 
 
   if( !GetConsoleScreenBufferInfo( hConsole, &csbi ))
      return;
   dwConSize = csbi.dwSize.X * csbi.dwSize.Y;
 
   // Fill the entire screen with blanks.
 
   if( !FillConsoleOutputCharacter( hConsole, (TCHAR) ' ',
      dwConSize, coordScreen, &cCharsWritten ))
      return;
 
   // Get the current text attribute.
 
   if( !GetConsoleScreenBufferInfo( hConsole, &csbi ))
      return;
 
   // Set the buffer's attributes accordingly.
 
   if( !FillConsoleOutputAttribute( hConsole, csbi.wAttributes,
      dwConSize, coordScreen, &cCharsWritten ))
      return;
 
   // Put the cursor at its home coordinates.
 
   SetConsoleCursorPosition( hConsole, coordScreen );
}
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
19.06.2012, 20:28
Ответы с готовыми решениями:

Аналог system("cls"); Есть ли что то побыстрей?
Нужно стирать содержимое с окна и выводить новое. Функция cls как то заторможено это делает. Нужно что бы он быстрей обновлялся.

Аналог clrscr в C++
как его применить на c++? #include <conio.h> clrscr(); // в int main естественно error C3861: clrscr: идентификатор не найден

Что означает конструкция int(cls::*), если cls - это класс ?
Пример: #include <iostream> #include <type_traits> int main() { class cls {}; std::cout <<...

21
21.06.2012, 21:29
Студворк — интернет-сервис помощи студентам

Не по теме:

Цитата Сообщение от soon Посмотреть сообщение
MrGluck, а если строк больше 30?
Стандартный размер консоли 80х25

0
1 / 1 / 0
Регистрация: 04.07.2017
Сообщений: 5
18.03.2023, 12:48
Немного изменил, чтоб cls() было проще вызывать
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
#include<stdio.h>
#include<windows.h>
 
void cls();
 
int main(int argc, char* argv[])
{
    cls();
    return 0;
}
 
void cls()
{
    COORD coordScreen = { 0, 0 };// home for the cursor 
    DWORD cCharsWritten;
    CONSOLE_SCREEN_BUFFER_INFO csbi; 
    DWORD dwConSize;
    HANDLE hConsole;
    hConsole = GetStdHandle(STD_OUTPUT_HANDLE);
    if( !GetConsoleScreenBufferInfo( hConsole, &csbi ))// Get the number of character cells in the current buffer. 
        return;
    dwConSize = csbi.dwSize.X * csbi.dwSize.Y;
    if( !FillConsoleOutputCharacter( hConsole, (TCHAR) ' ',// Fill the entire screen with blanks.
        dwConSize, coordScreen, &cCharsWritten ))
        return;
    if( !GetConsoleScreenBufferInfo( hConsole, &csbi ))// Get the current text attribute.
        return;
    if( !FillConsoleOutputAttribute( hConsole, csbi.wAttributes,// Set the buffer's attributes accordingly.
        dwConSize, coordScreen, &cCharsWritten ))
        return;
    SetConsoleCursorPosition( hConsole, coordScreen );// Put the cursor at its home coordinates.
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
18.03.2023, 12:48

Как с system("cls") очистить экран в определенных местах
Здравствуйте,неподскажите,Как при помощи system(&quot;cls&quot;),или любой другой функции,очистить экран консоли в определенных местах,например я...

System("cls") *.exe вызвал срабатывание точки останова
При вызове функции system(&quot;cls&quot;); крашит программу, но при вызове этой же функции функции с другими в другими параметрами все хорошо. ...

System("cls") завершает работу. Как исправить?
Пытался очистить экран консоли командой system(&quot;cls&quot;). С задачей она справилась на ура, но вот программа сразу завершает работу (&quot;Для...

Не работают функции функции clrscr(), system("cls")
Доброго времени. По сабжу добавлю что, функции clrscr(), system(&quot;cls&quot;) либо не работают, либо работают не так как надо.

system('cls') иди как очистить экран?
вот такая запара, уже все форумы оббегал и ни один пример не работает :( а этот system('cls') мне рисует квадратики, где я не правильно...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
22
Ответ Создать тему
Опции темы

Новые блоги и статьи
Часы электронные
Uhbif79 12.08.2026
Выкладываю программу часов. Программа позволяет: 1. Использовать системное время и дату, 2. Есть возможность вводить время и дату вручную. 3. Реализованы 2 будильника: начало и конец рабочего дня. . . .
Часы с будильником на основе класса QLCDNumber
Uhbif79 12.08.2026
Всем добрый день, выкладываю программу часов с будильником на основе класса QLCDNumber. Здесь я пробовал самостоятельно создавал классы, впервые столкнулся с видимостью переменной одного класса из. . .
Установка MinGW GCC 16.2 и CMake
8Observer8 10.08.2026
VK Видео: https:/ / vkvideo. ru/ video-240781534_456239017 YouTube: eY5-5PyI9NM Текстовая версия
Неделя из жизни имитационной модели склада: мои кривые руки растут, откуда надо
anaschu 10.08.2026
Неделя из жизни имитационной модели склада: как я почти написал неправильную логику и что с этим делать Работаю сейчас над учебно-рабочим проектом: строю в AnyLogic имитационную модель процессов. . .
Калькулятор для расчета родства
russiannick 07.08.2026
1. Задача: Создать калькулятор для расчета родства. Родственных связей существует 8 ступеней, такие как: p - отец P - мать q - муж Q - жена b - брат B - сестра s - сын S - дочь
Мир по моей воле
kumehtar 07.08.2026
Когда-то кажется, что всё просто. Ты весь такой светлый. Причиняешь добро. Борешься за справедливость в этом тёмном мире. Потом начинаешь замечать одну неприятную вещь. Почти каждый хороший. . .
Кредитный калькулятор
Maks 05.08.2026
Решение задачи по прикладной информатике средствами 1С. Задача: Напишите приложение-калькулятор, которое помогает рассчитывать параметры кредита для аннуитетного и дифференцированного видов. . .
У нас сейчас поговорку "Опять 25" нужно переделать на "Опять +35".
kumehtar 04.08.2026
С ностальгией вспоминаю времена моего детства, когда у нас и правда +25 - была максимальная температура летом. Раньше +25 °C реально казались вершиной жары, когда можно было весь день пропадать на. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru