собственно говоря сабж. Сори за ламерский вопрос.
>собственно говоря сабж. Сори за ламерский вопрос.
Необходимо уточнение, о каком экране идет речь. Если это экран текстового терминала, то надо либо послать определенную эскейп-последовательность, либо, что медленно, но работает везде, забить его '\n' по числу строк.
В графическом режиме - зависит от того, что за графическую оболочку ты используешь.
Еще можно выключить питание компьютера - экран тут же очистится :)
>>собственно говоря сабж. Сори за ламерский вопрос.
>Необходимо уточнение, о каком экране идет речь. Если это экран текстового терминала,
>то надо либо послать определенную эскейп-последовательность, либо, что медленно, но работает
>везде, забить его '\n' по числу строк.
Сейчас обьясню, мне нужно постоянно выводить данные в строке в экран текстового терминала, тоесть внизу (или верху) экрана выводится 10 строчек, они постоянно обновляются.
НО, вот при такой штуке
for(i=0;i<25;i++)
printf("\n");
постоянно проскакивает "блымаие". Тоесть экран дергается, но строки остаются на месте, что исключает собой неправильное количество строк:-)
>В графическом режиме - зависит от того, что за графическую оболочку ты
>используешь.
А какие есть? Я начинающий программировать под unix.
>Еще можно выключить питание компьютера - экран тут же очистится :)
оне не очистится, он погаснет:)
>>>собственно говоря сабж. Сори за ламерский вопрос.
>>Необходимо уточнение, о каком экране идет речь. Если это экран текстового терминала,
>>то надо либо послать определенную эскейп-последовательность, либо, что медленно, но работает
>>везде, забить его '\n' по числу строк.tput clear
>Сейчас обьясню, мне нужно постоянно выводить данные в строке в экран текстового
>терминала, тоесть внизу (или верху) экрана выводится 10 строчек, они постоянно
>обновляются.
>НО, вот при такой штуке
>for(i=0;i<25;i++)
> printf("\n");Так делать не надо. Откуда взялось 25?
>постоянно проскакивает "блымаие".
Извините, не понял.
>Тоесть экран дергается, но строки остаются на месте, что
>исключает собой неправильное количество строк:-)Если можно, еще раз, и помедленнее: что пытаемся сделать, и что не работает...
>Если можно, еще раз, и помедленнее: что пытаемся сделать, и что не
>работает...в общем задача такая- создаю что то типа трафшоу. захватываю пакет и смотрю от кого и куда. вывожу на экран. соответственно по экрану побежала строка вверх(обычный вывод). хочется сделать так чтоб выводилась одна строка.
думаю сделать так: repeat очистка экрана- вывод строки-очистка экрана- вывод строки...
>>Если можно, еще раз, и помедленнее: что пытаемся сделать, и что не
>>работает...
>
>в общем задача такая- создаю что то типа трафшоу. захватываю пакет и
>смотрю от кого и куда. вывожу на экран. соответственно по экрану
>побежала строка вверх(обычный вывод). хочется сделать так чтоб выводилась одна строка.
>
>думаю сделать так: repeat очистка экрана- вывод строки-очистка экрана- вывод строки...man curses
// wbr
>man curses
>
>// wbrОооооочень информативно!
>>man curses
>>
>>// wbr
>
>Оооооочень информативно!
Если без curses:void clrscr(void) {
printf("\x1B[H\x1B[J");
}
>>man curses
>>
>>// wbr
>
>Оооооочень информативно!Ты man почитай, потом делай выводы об информативности.
>>Если можно, еще раз, и помедленнее: что пытаемся сделать, и что не
>>работает...
>
>в общем задача такая- создаю что то типа трафшоу. захватываю пакет и
>смотрю от кого и куда. вывожу на экран. соответственно по экрану
>побежала строка вверх(обычный вывод). хочется сделать так чтоб выводилась одна строка.Для _такого_ достаточно закончить строку возвратом каретки без перевода строки:
printf("%s\r", text);
>думаю сделать так: repeat очистка экрана- вывод строки-очистка экрана- вывод строки...
Ох и замельтешит же оно... глаз не жалко?
Еще полезную информацию по поводу управления выводом на экран можно узнать, набрав
man console_codes
В этом руководстве приведены различные эскейп-последовательности, позволяющие очищать экран, менять цвета, позиционировать курсор куда надо и т.п.
Также совсем недавно промелькнула новость на тему статей по ncurses. Если не знаешь - это такая библиотека, которая поможет тебе бороться с терминалом. Можно делать в текстовом режиме всякие вкусности типа окошек и т.п. Почитай - пригодится. Кстати, по поводу программы, что ты задумал. Есть такая программа - iptraf - она уже все это делает, и причем очень неплохо. Посмотри, может стоит написать что-то еще?
Есть
>такая программа - iptraf - она уже все это делает, и
>причем очень неплохо. Посмотри, может стоит написать что-то еще?
Господа, я просто поставил себе задачу- научится программировать под UNIX.
Причем хочется пошупать сокеты и тд, в общем сеть. Я начинаюший. А по поводу ncurses то скорее всего его просто нет.
>Господа, я просто поставил себе задачу- научится программировать под UNIX.
>Причем хочется пошупать сокеты и тд, в общем сеть. Я начинаюший. А
>по поводу ncurses то скорее всего его просто нет.это где нет *curses ?
// wbr
>это где нет *curses ?Linux Slackware 2.2.6 Раритет не спорю.
Но у меня на работе этот гроб с колесиками единственный линух. Я вобще больше фрю люблю. Но книг по порограмированию сетевых приложений, да и вобще всего что связано с программированием больше под линух. Если подскажете где можно нарыть под BSD буду признателен.
>>это где нет *curses ?
>
>Linux Slackware 2.2.6 Раритет не спорю.
>Но у меня на работе этот гроб с колесиками единственный линух. Я
>вобще больше фрю люблю. Но книг по порограмированию сетевых приложений, да
>и вобще всего что связано с программированием больше под линух. Если
>подскажете где можно нарыть под BSD буду признателен.А есть существенные различия по программированию сетевых придлжений ?
Да и вообще, чем дальше в "лес", тем больше "дров" ...
Мой тебе совет, используй к примеру CommonC++ (http://www.gnu.org/software/commoncpp/) и не *би себе и другим мозги.А на счет *curses, эта библиотека есть везде .... без неё никуда.