The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]




Версия для распечатки Пред. тема | След. тема
Новые ответы [ Отслеживать ]
Как очистить экран в С под линуксом?, !*! Piro, 27-Июл-04, 14:14  [смотреть все]
собственно говоря сабж. Сори за ламерский вопрос.
  • Как очистить экран в С под линуксом?, !*! dimus, 08:48 , 28-Июл-04 (1)
    >собственно говоря сабж. Сори за ламерский вопрос.
    Необходимо уточнение, о каком экране идет речь. Если это экран текстового терминала, то надо либо послать определенную эскейп-последовательность, либо, что медленно, но работает везде, забить его '\n' по числу строк.
    В графическом режиме - зависит от того, что за графическую оболочку ты используешь.
    Еще можно выключить питание компьютера - экран тут же очистится :)

    • Как очистить экран в С под линуксом?, !*! PiroMAN, 10:28 , 28-Июл-04 (2)
      >>собственно говоря сабж. Сори за ламерский вопрос.
      >Необходимо уточнение, о каком экране идет речь. Если это экран текстового терминала,
      >то надо либо послать определенную эскейп-последовательность, либо, что медленно, но работает
      >везде, забить его '\n' по числу строк.
      Сейчас обьясню, мне нужно постоянно выводить данные в строке в экран текстового терминала, тоесть внизу (или верху) экрана выводится 10 строчек, они постоянно обновляются.
      НО, вот при такой штуке
      for(i=0;i<25;i++)
      printf("\n");
      постоянно проскакивает "блымаие". Тоесть экран дергается, но строки остаются на месте, что исключает собой неправильное количество строк:-)

      >В графическом режиме - зависит от того, что за графическую оболочку ты
      >используешь.
      А какие есть? Я начинающий программировать под unix.
      >Еще можно выключить питание компьютера - экран тут же очистится :)
      оне не очистится, он погаснет:)

      • Как очистить экран в С под линуксом?, !*! vnp, 11:58 , 28-Июл-04 (3)
        >>>собственно говоря сабж. Сори за ламерский вопрос.
        >>Необходимо уточнение, о каком экране идет речь. Если это экран текстового терминала,
        >>то надо либо послать определенную эскейп-последовательность, либо, что медленно, но работает
        >>везде, забить его '\n' по числу строк.

        tput clear

        >Сейчас обьясню, мне нужно постоянно выводить данные в строке в экран текстового
        >терминала, тоесть внизу (или верху) экрана выводится 10 строчек, они постоянно
        >обновляются.
        >НО, вот при такой штуке
        >for(i=0;i<25;i++)
        > printf("\n");

        Так делать не надо. Откуда взялось 25?

        >постоянно проскакивает "блымаие".

        Извините, не понял.

        >Тоесть экран дергается, но строки остаются на месте, что
        >исключает собой неправильное количество строк:-)

        Если можно, еще раз, и помедленнее: что пытаемся сделать, и что не работает...

        • Как очистить экран в С под линуксом?, !*! Piro, 13:10 , 28-Июл-04 (4)
          >Если можно, еще раз, и помедленнее: что пытаемся сделать, и что не
          >работает...

          в общем задача такая- создаю что то типа трафшоу. захватываю пакет и смотрю от кого и куда. вывожу на экран. соответственно по экрану побежала строка вверх(обычный вывод). хочется сделать так чтоб выводилась одна строка.
          думаю сделать так: repeat очистка экрана- вывод строки-очистка экрана- вывод строки...

          • Как очистить экран в С под линуксом?, !*! klalafuda, 13:39 , 28-Июл-04 (5)
            >>Если можно, еще раз, и помедленнее: что пытаемся сделать, и что не
            >>работает...
            >
            >в общем задача такая- создаю что то типа трафшоу. захватываю пакет и
            >смотрю от кого и куда. вывожу на экран. соответственно по экрану
            >побежала строка вверх(обычный вывод). хочется сделать так чтоб выводилась одна строка.
            >
            >думаю сделать так: repeat очистка экрана- вывод строки-очистка экрана- вывод строки...

            man curses

            // wbr

          • Как очистить экран в С под линуксом?, !*! vnp, 20:48 , 28-Июл-04 (9)
            >>Если можно, еще раз, и помедленнее: что пытаемся сделать, и что не
            >>работает...
            >
            >в общем задача такая- создаю что то типа трафшоу. захватываю пакет и
            >смотрю от кого и куда. вывожу на экран. соответственно по экрану
            >побежала строка вверх(обычный вывод). хочется сделать так чтоб выводилась одна строка.

            Для _такого_ достаточно закончить строку возвратом каретки без перевода строки:

            printf("%s\r", text);

            >думаю сделать так: repeat очистка экрана- вывод строки-очистка экрана- вывод строки...

            Ох и замельтешит же оно... глаз не жалко?

            • Как очистить экран в С под линуксом?, !*! dimus, 07:59 , 29-Июл-04 (10)
              Еще полезную информацию по поводу управления выводом на экран можно узнать, набрав
              man console_codes
              В этом руководстве приведены различные эскейп-последовательности, позволяющие очищать экран, менять цвета, позиционировать курсор куда надо и т.п.
              Также совсем недавно промелькнула новость на тему статей по ncurses. Если не знаешь - это такая библиотека, которая поможет тебе бороться с терминалом. Можно делать в текстовом режиме всякие вкусности типа окошек и т.п. Почитай - пригодится. Кстати, по поводу программы, что ты задумал. Есть такая программа - iptraf - она уже все это делает, и причем очень неплохо. Посмотри, может стоит написать что-то еще?
              • Как очистить экран в С под линуксом?, !*! Piro, 13:13 , 29-Июл-04 (11)
                Есть
                >такая программа - iptraf - она уже все это делает, и
                >причем очень неплохо. Посмотри, может стоит написать что-то еще?
                Господа, я просто поставил себе задачу- научится программировать под UNIX.
                Причем хочется пошупать сокеты и тд, в общем сеть. Я начинаюший. А по поводу ncurses то скорее всего его просто нет.

                • Как очистить экран в С под линуксом?, !*! klalafuda, 14:38 , 29-Июл-04 (12)
                  >Господа, я просто поставил себе задачу- научится программировать под UNIX.
                  >Причем хочется пошупать сокеты и тд, в общем сеть. Я начинаюший. А
                  >по поводу ncurses то скорее всего его просто нет.

                  это где нет *curses ?

                  // wbr

                  • Как очистить экран в С под линуксом?, !*! PiroMAN, 14:42 , 29-Июл-04 (13)
                    >это где нет *curses ?

                    Linux Slackware 2.2.6 Раритет не спорю.
                    Но у меня на работе этот гроб с колесиками единственный линух. Я вобще больше фрю люблю. Но книг по порограмированию сетевых приложений, да и вобще всего что связано с программированием больше под линух. Если подскажете где можно нарыть под BSD буду признателен.

                    • Как очистить экран в С под линуксом?, !*! Vladislav Lazarenko, 14:46 , 29-Июл-04 (14)
                      >>это где нет *curses ?
                      >
                      >Linux Slackware 2.2.6 Раритет не спорю.
                      >Но у меня на работе этот гроб с колесиками единственный линух. Я
                      >вобще больше фрю люблю. Но книг по порограмированию сетевых приложений, да
                      >и вобще всего что связано с программированием больше под линух. Если
                      >подскажете где можно нарыть под BSD буду признателен.

                      А есть существенные различия по программированию сетевых придлжений ?

                      Да и вообще, чем дальше в "лес", тем больше "дров" ...
                      Мой тебе совет, используй к примеру CommonC++ (http://www.gnu.org/software/commoncpp/) и не *би себе и другим мозги.

                      А на счет *curses, эта библиотека есть везде .... без неё никуда.




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру