Форум русскоязычного сообщества Ubuntu


Получить помощь и пообщаться с другими пользователями Ubuntu можно
на irc канале #ubuntu-ru в сети Freenode
и в Jabber конференции ubuntu@conference.jabber.ru

Автор Тема: -lncursesw  (Прочитано 1322 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн iWord

  • Автор темы
  • Новичок
  • *
  • Сообщений: 3
    • Просмотр профиля
-lncursesw
« : 27 Марта 2011, 10:31:13 »
Привет форумчане, проблема такова, надо собрать программу с ncurses? после часового курения мануалов, программа собралась но кракозябрами и прочей ересью.Зптем погуглив нашел что надо юзать ncursesw , но ничего так и не юзменилось, кракозябры остались, а поддержка  ru_RU.UTF-8 обязательна.

#include <ncursesw/ncurses.h>
#include <locale.h>

priv() {

  initscr();
  setlocale(LC_ALL,"");
  move(5,10);printw("___________________________________________________\n");
  move(6,10);printw("# Raschetnograficheskaja rabota po programmirovaniju#\n");
  move(7,10);printw("# Выполнил студент ИВТ-11                         #\n");
  move(8,10);printw("# Мухамедгалиев Ринат                             #\n");
  move(9,10);printw("# Программа выводит пользоватиелей принадлежащих  #\n");
  move(10,10);printw("# определенной группе                             #\n");
  move(11,10);printw("#_________________________________________________#\n");
  wrefresh(); // обновить

  getch(); // ждём нажатия символа

  endwin(); // завершение работы с ncurses
}


компил идет так  $gcc group.c -o group -lncursesw

Оффлайн inkblack

  • Старожил
  • *
  • Сообщений: 1216
    • Просмотр профиля
Re: -lncursesw
« Ответ #1 : 27 Марта 2011, 11:56:46 »
Это?
Только там, конечно, setlocale(LC_ALL, "");
Делюсь знаниями, но их у меня мало!

Оффлайн iWord

  • Автор темы
  • Новичок
  • *
  • Сообщений: 3
    • Просмотр профиля
Re: -lncursesw
« Ответ #2 : 27 Марта 2011, 12:16:23 »
Цитировать
setlocale(LC_ALL,"");

у меня так же

Оффлайн inkblack

  • Старожил
  • *
  • Сообщений: 1216
    • Просмотр профиля
Re: -lncursesw
« Ответ #3 : 27 Марта 2011, 13:56:57 »
Прошу прощения, невнимательно прочёл первый пост  :-[

Вот так:
#include <locale.h>
#include <ncursesw/curses.h>

int main(void)
 {
 setlocale(LC_ALL, "");
 initscr();
 move(5,10);printw("___________________________________________________\n");
 move(6,10);printw("# Raschetnograficheskaja rabota po programmirovaniju#\n");
 move(7,10);printw("# Выполнил студент ИВТ-11                         #\n");
 move(8,10);printw("# Мухамедгалиев Ринат                             #\n");
 move(9,10);printw("# Программа выводит пользоватиелей принадлежащих  #\n");
 move(10,10);printw("# определенной группе                             #\n");
 move(11,10);printw("#_________________________________________________#\n");
 refresh();
 getch();
 endwin();

 return 0;
 }

gcc ncu1.c -o nc -lncursesw

Всё работает. Правда, у меня на wrefresh компилятор ругался, я использовал refresh. Но ваш пример тоже выдавал закорючки, а этот вариант (чем отличается, я так и не понял) — работает.

А, наверное, надо сначала setlocale, а потом initscr!

Точно, проверил — ваш вариант теперь работает.
« Последнее редактирование: 27 Марта 2011, 14:01:35 от inkblack »
Делюсь знаниями, но их у меня мало!

Оффлайн iWord

  • Автор темы
  • Новичок
  • *
  • Сообщений: 3
    • Просмотр профиля
Re: -lncursesw
« Ответ #4 : 30 Марта 2011, 17:53:01 »
Гениально. спасибо

 

Страница сгенерирована за 0.05 секунд. Запросов: 25.