Модераторы: Daevaorn
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Очистка экрана в консоли 
:(
    Опции темы
Гость_Intro
Дата 4.8.2004, 18:52 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Подскажите пожалуйста функцию в Visual C++ отвечающую за очистку экрана от всех символов в том числе и от всех endl.
Заранее благодарен.
  Вверх
_hunter
Дата 4.8.2004, 19:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 8564
Регистрация: 24.6.2003
Где: Europe::Ukraine:: Kiev

Репутация: 16
Всего: 98



void clrscr(void)


--------------------
Tempora mutantur, et nos mutamur in illis...
PM ICQ   Вверх
lynx_916
Дата 4.8.2004, 20:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 316
Регистрация: 13.6.2004
Где: Молдова

Репутация: нет
Всего: 1



она отчищает активное окно.


--------------------
Who dares, wins. (с) Solid Snake
PM MAIL ICQ YIM MSN   Вверх
Гость_Intro
Дата 5.8.2004, 06:34 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











В большинстве форумах мне твердят про clrscr(), но у меня в С++ от Майкрософта версии 6.0 --- она не хочет опозноваться какие бы я не включал заголовочные файлы и *.lib...
Есть ли альтернатива clrscr()???
  Вверх
_voron
Дата 5.8.2004, 07:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 6
Регистрация: 15.6.2004

Репутация: нет
Всего: нет



Можно установить видеорежим, при этом экран будет очищен(весь экран, а не активное окно).

...
asm{
mov ax, 0x03
int 0x10
}
...

Причем работать это будет быстрее, чем clrscr();
PM MAIL   Вверх
srd
Дата 5.8.2004, 11:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Нереварин
**


Профиль
Группа: Участник Клуба
Сообщений: 951
Регистрация: 30.8.2003
Где: Владивосток

Репутация: 27
Всего: 49



Код

void clrscr(void)
{
   system("cls");
}




--------------------
Не смей читать мою подпись!!!
PM MAIL Jabber   Вверх
_hunter
Дата 5.8.2004, 16:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 8564
Регистрация: 24.6.2003
Где: Europe::Ukraine:: Kiev

Репутация: 16
Всего: 98



_voron, ты ткое под ХР запусти wink.gif

Гость_Intro, ты conio.h подключал?

вот, на крайняк исходник:
Код
/*------------------------------------------------------------------------
* filename - clrscr.c
*
* function(s)
*        clrscr - clears text mode window
*-----------------------------------------------------------------------*/

/*
*      C/C++ Run Time Library - Version 11.0
*
*      Copyright (c) 1987, 2002 by Borland Software Corporation
*      All Rights Reserved.
*
*/

/* $Revision: 9.4.2.1 $        */

#define INCL_CON
#include <ntbc.h>

#include <_video.h>
#include <conio.h>

/*------------------------------------------------------------------------*

Name            clrscr - clears text mode window

Usage           void clrscr(void);

Prototype in    conio.h

Description     clrscr clears the current text window and places the cursor
               in the upper left-hand corner(at position 1,1).

Return value    None

*--------------------------------------------------------------------------*/

void _RTLENTRY _EXPFUNC clrscr(void)
{
   COORD c;
   DWORD len, wr;

   if (_video.windowx1 == 0 && _video.windowy1 == 0 &&
       _video.windowx2 == _video.screenwidth - 1 &&
       _video.windowy2 == _video.screenheight - 1)
   {
       /* Window is full-screen, so we can clear it in two calls.
        */
       len = _video.screenwidth * _video.screenheight;
       c.X = c.Y = 0;
       FillConsoleOutputCharacter(_hout, ' ', len, c, &wr);
       FillConsoleOutputAttribute(_hout, _video.attribute, len, c, &wr);
   }
   else
   {
       /* Window is not full-screen, so clear it a line at a time.
        */
       len = _video.windowx2 - _video.windowx1 + 1;
       c.X = _video.windowx1;
       for (c.Y = _video.windowy1; c.Y <= _video.windowy2; c.Y++)
       {
           FillConsoleOutputCharacter(_hout, ' ', len, c, &wr);
           FillConsoleOutputAttribute(_hout, _video.attribute, len, c, &wr);
       }
   }

   gotoxy(1, 1);
}

может поможет smile.gif


--------------------
Tempora mutantur, et nos mutamur in illis...
PM ICQ   Вверх
NiJazz
Дата 6.8.2004, 07:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Jazz coder
****


Профиль
Группа: Экс. модератор
Сообщений: 2286
Регистрация: 10.8.2003
Где: Москва

Репутация: 1
Всего: 23



_hunter
Ведь clrscr() есть только в Turbo C++. Или нет?

Можно так:
Код
for (int i = 0; i < 25; i ++)
{
  cout << endl;
  // или printf("\n");
}

Добавлено @ 07:30
srd
Разве system - это не Linux? Такое в VC++ работать не будет.
PM MAIL   Вверх
srd
Дата 6.8.2004, 07:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Нереварин
**


Профиль
Группа: Участник Клуба
Сообщений: 951
Регистрация: 30.8.2003
Где: Владивосток

Репутация: 27
Всего: 49



Функция system входит в стандарт и должна быть в любой реализации C Runtime Library. В VC++ это прекрасно работает. Наоборот, команды "cls" в Линуксах нет smile.gif Может будет работать system("clear"), но я такое не пробовал.

Не нравится system, можно обойтить средствами WINAPI:

Код

#include <windows.h>

void clrscr(void)
{
   COORD coords = {0, 0};
   HANDLE = GetStdHandle(STD_OUTPUT_HANDLE);
   CONSOLE_SCREEN_BUFFER_INFO csbi;
   GetConsoleScreenBufferInfo(handle, &csbi);
   DWORD sz = csbi.dwSize.X * csbi.dwSize.Y;
   DWORD dw;
   FillConsoleOutputCharacter(handle, ' ', sz, coords, &dw);
   FillConsoleOutputAttribute(handle, csbi.wAttributes, sz, coords, &dw);
)


Это сообщение отредактировал(а) srd - 6.8.2004, 07:46


--------------------
Не смей читать мою подпись!!!
PM MAIL Jabber   Вверх
_hunter
Дата 6.8.2004, 17:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 8564
Регистрация: 24.6.2003
Где: Europe::Ukraine:: Kiev

Репутация: 16
Всего: 98



в линуксах все тот же clrscr smile.gif

насчет Turbo C не знаю но она точно работает в Builder' e


--------------------
Tempora mutantur, et nos mutamur in illis...
PM ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++:Общие вопросы"
Earnest Daevaorn

Добро пожаловать!

  • Черновик стандарта C++ (за октябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика(4.4мб).
  • Черновик стандарта C (за сентябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика (3.4мб).
  • Прежде чем задать вопрос, прочтите это и/или это!
  • Здесь хранится весь мировой запас ссылок на документы, связанные с C++ :)
  • Не брезгуйте пользоваться тегами [code=cpp][/code].
  • Пожалуйста, не просите написать за вас программы в этом разделе - для этого существует "Центр Помощи".
  • C++ FAQ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0463 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.