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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Очистка экрана и, позиция курсора 
:(
    Опции темы
Rickert
Дата 7.11.2007, 11:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Ситхи не пройдут!
****


Профиль
Группа: Комодератор
Сообщений: 3356
Регистрация: 11.7.2006
Где: Лакрима

Репутация: -2
Всего: 52



делают очистку консоли так:
Код
fprintf(stdout, "%c[2J", 0x1B);
fflush(stdout);

И курсор для ввода-вывода переходит на самую нижнюю строку. Вопрос: как сделать так, чтобы он был на самом верху?


--------------------
Ни что не внушает сна крепче, чем день приисполненный трудов!
PM MAIL WWW Skype GTalk   Вверх
JackYF
Дата 7.11.2007, 18:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


полуавантюрист
****


Профиль
Группа: Участник
Сообщений: 5814
Регистрация: 28.8.2004
Где: страна тысячи озё р

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



Rickert, man ncurses.


--------------------
Пожаловаться на меня как модератора можно здесь.
PM MAIL Jabber   Вверх
MAKCim
Дата 7.11.2007, 19:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Воін дZэна
****


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

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



Rickert, 
сделаем маленький хак  smile 
Код

# strace /usr/bin/clear
...
fstat(1, {st_mode=S_IFCHR|0620, st_rdev=makedev(136, 1), ...}) = 0
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x2b0300c7d000
write(1, "\33[H\33[2J", 7
)              = 7
exit_group(0)                           = ?
Process 3482 detached

пишем программу
Код

#include <unistd.h>

int main() {
    write(1, "\33[H\33[2J", 7);
    return 0;
}

и вуаля  smile 



--------------------
Ах, у елі, ах, у ёлкі, ах, у елі злыя волкі ©

PM MAIL   Вверх
JackYF
Дата 7.11.2007, 20:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


полуавантюрист
****


Профиль
Группа: Участник
Сообщений: 5814
Регистрация: 28.8.2004
Где: страна тысячи озё р

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



MAKCim,  smile, зачёт за идею smile
Хотя таки лучше ncurses, оно переносимо smile


--------------------
Пожаловаться на меня как модератора можно здесь.
PM MAIL Jabber   Вверх
bsa
Дата 8.11.2007, 00:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

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



А не проще было бы сделать?
Код
#include <stdio.h>
int main()
{
      puts("\33[H\33[2J");
      return 0;
}
Просто write(1,...) - это не очень очевидно.
PM   Вверх
Rickert
Дата 8.11.2007, 07:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Ситхи не пройдут!
****


Профиль
Группа: Комодератор
Сообщений: 3356
Регистрация: 11.7.2006
Где: Лакрима

Репутация: -2
Всего: 52



Спасибо, господа!
Только не могли бы вы рассказать что это за строка:
Цитата
\33[H\33[2J

Что это за команды?


--------------------
Ни что не внушает сна крепче, чем день приисполненный трудов!
PM MAIL WWW Skype GTalk   Вверх
MAKCim
Дата 8.11.2007, 10:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Воін дZэна
****


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

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



Цитата(bsa @  8.11.2007,  00:59 Найти цитируемый пост)
Просто write(1,...) - это не очень очевидно.

кому как  smile 
так быстрее между прочим
кроме того, ты же видел как я получил сей способ  smile 



--------------------
Ах, у елі, ах, у ёлкі, ах, у елі злыя волкі ©

PM MAIL   Вверх
chaos
Дата 8.11.2007, 12:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Серийный программист
****


Профиль
Группа: Завсегдатай
Сообщений: 2979
Регистрация: 7.7.2004
Где: Екатеринбург

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



Цитата(Rickert @ 8.11.2007,  09:35)
что это за строка

ити строки кличут ESC последовательностями.
темо подымалась уже, как тут так и в разделе Перл

вот для справки
PM WWW   Вверх
bsa
Дата 8.11.2007, 14:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

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



Цитата(MAKCim @ 8.11.2007,  10:37)
Цитата(bsa @  8.11.2007,  00:59 Найти цитируемый пост)
Просто write(1,...) - это не очень очевидно.

кому как  smile 
так быстрее между прочим
кроме того, ты же видел как я получил сей способ  smile

да. видел. Но эта строка вызывает больше вопросов. Далеко не каждый знает, что такое за дескриптор файла с номером 1.  smile 
А уж размер строки тем более не очевиден. Думаю, далеко не все знают, что "\33" - это символ с кодом 27 (только код записан в восьмиричной системе счисления), а не просто "33"...
PM   Вверх
MAKCim
Дата 8.11.2007, 19:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Воін дZэна
****


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

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



bsa, 
кто этого не знает - стыд и позор (кроме разве что \33)


--------------------
Ах, у елі, ах, у ёлкі, ах, у елі злыя волкі ©

PM MAIL   Вверх
JackYF
Дата 8.11.2007, 19:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


полуавантюрист
****


Профиль
Группа: Участник
Сообщений: 5814
Регистрация: 28.8.2004
Где: страна тысячи озё р

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



Цитата(MAKCim @  8.11.2007,  19:34 Найти цитируемый пост)
кто этого не знает - стыд и позор

 smile ну я полгода назад не знал - стыд мне и позор smile

Я бы написал printf.


--------------------
Пожаловаться на меня как модератора можно здесь.
PM MAIL Jabber   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С/С++: Программирование под Unix/Linux"
xvr
  • Проставьте несколько ключевых слов темы, чтобы её можно было легче найти.
  • Не забывайте пользоваться кнопкой "Код".
  • Вопросы мобильной разработки тут
  • Телепатов на форуме нет! Задавайте чёткий, конкретный и полный вопрос. Указывайте полностью ошибки компилятора и компоновщика.
  • Новое сообщение должно иметь прямое отношение к разделу форума. Флуд, флейм, оффтопик запрещены.
  • Категорически запрещается обсуждение вареза, "кряков", взлома программ и т.д.

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

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


 




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


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

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