новичок ncurses - начинающийся с GNU C

Я начал использовать VI, потому что это - редактор по умолчанию в в значительной степени каждой операционной системе за исключением Windows. С другой стороны я не делаю большого кодирования в Windows так, чтобы помог.

, Если Вы хотите вынудить себя на *, система NIX/OSX просто удаляет других редакторов или искажает их. Для остальных это до себя. Каждый раз Вы не используете VI для редактирования файла, Вы не получите cookie.

7
задан deau 30 October 2009 в 19:18
поделиться

4 ответа

Ага, ncurses - это библиотека, которую вы ищете. В качестве примера приведем (n) curses эквивалент gotoxy :

NAME

move, wmove - переместить курсор окна curses

ОБЗОР

  #include 

 int move (int y, int x);
 int wmove (ОКНО * выигрыш, int y, int x);

ОПИСАНИЕ

Эти процедуры перемещают курсор, связанный с окном, в строка y и столбец x. Эта процедура не перемещает физический курсор терминала, пока не будет вызвано обновление. Указанная позиция относительно верхнего левого угла окна, который равен (0,0).

Приложение:

В вашем комментарии вы спрашиваете об окнах curses - я не думаю, что могу действительно улучшить то, что ncurses Об этом говорится на странице руководства, поэтому я просто процитирую это:

Библиотека ncurses разрешает манипулирование структурами данных, называется окнами, которые можно подумать как двумерные массивы символы, представляющие все или часть ЭЛТ-экран. Окно по умолчанию называется stdscr, который является размером терминальный экран, прилагается. Другие может быть создан с помощью newwin.

Обратите внимание, что curses не обрабатывает перекрывающиеся окна, это делается панель (3CURSES) библиотека. Эта означает, что вы можете использовать stdscr или разделить экран на плитку windows и вообще не используя stdscr. Смешивание двух приведет к непредсказуемо и нежелательно, эффекты.

Окна упоминаются переменными объявлен как WINDOW *. Эти данные структурами манипулируют с процедуры, описанные здесь и в других местах в справочных страницах ncurses. Среди те самые основные процедуры переместить и добавить. Более общий версии этих программ включены с именами, начинающимися с w, позволяя пользователю указать окно. Подпрограммы, не начинающиеся с w влияют на stdscr.

После использования подпрограмм для управления окно, обновление называется, сообщая проклятия сделать экран пользователя CRT похож на stdscr. Персонажи в окно на самом деле имеет тип chtype, (символьные и атрибутные данные), чтобы другая информация о персонаже также может храниться с каждым

Итак, вкратце, вы можете спокойно игнорировать все, что связано с окном, и просто использовать окно stdscr.

5
ответ дан 7 December 2019 в 03:17
поделиться

Ну, в UNIX-подобных системах, таких как BSD и Linux, вы определенно захотите использовать ncurses в качестве эмуляторов терминала, если вы этого не сделаете.

Вам, вероятно, следует написать простую оболочку, содержащую нужные вам функции, и реализовать ее по-разному для разных ОС. В Windows есть несколько функций консоли , которые вы можете использовать, чтобы эта часть не была слишком сложной.

2
ответ дан 7 December 2019 в 03:17
поделиться

Вот небольшая программа, которая поможет вам начать.

#include <curses.h>

int main(void) {
  int ch;

  /* The whole program needs error-checking */
  initscr();
  noecho();
  cbreak();
  printw("Hit Ctrl+C to exit ...\n\n");
  for (;;) {
    ch = getch();
    printw("Value of char: %d (%02x)\n", ch, ch);
  }
  endwin();
  return 0;
}

Не забудьте указать компоновщику добавить библиотеку libcurses.

gcc ... -lcurses
1
ответ дан 7 December 2019 в 03:17
поделиться

Существует библиотека, обеспечивающая ввод-вывод консоли Turbo C для Linux: TurboC Также по теме: CONIO для DevC ++

1
ответ дан 7 December 2019 в 03:17
поделиться
Другие вопросы по тегам:

Похожие вопросы: