Nowe posty

Autor Wątek: Pusty terminal  (Przeczytany 3927 razy)

qwerty890

  • Gość
Pusty terminal
« dnia: 2012-03-21, 19:36:06 »
Witam. Na początku chciałbym zaznaczyć że pierwszy raz programuję w linuxie i pewnie to pytanie będzie żałosne, ale trudno. Chodzi mi o to, że kiedy chcę uruchomić program hello world cały terminal zostaje wyczyszczony, a kiedy nacisnę jakikolwiek przycisk wszystko wraca do normy, tyle że nie wyświetla mi napisu hello world. Co może być tego przyczyną? :)

Offline Paweł Kraszewski

  • Administrator
  • Guru
  • *****
  • Wiadomości: 3066
  • Lenistwo jest matką potrzeby = babcią wynalazku
    • Zobacz profil
Pusty terminal
« Odpowiedź #1 dnia: 2012-03-21, 19:59:53 »
Jak to nie super-duper-NATO-tajne, to może wrzuć listing i zobaczymy co i jak?
Paweł Kraszewski
~Arch/Void/Gentoo/FreeBSD/OpenBSD/Specjalizowane customy

qwerty890

  • Gość
Pusty terminal
« Odpowiedź #2 dnia: 2012-03-21, 21:01:27 »
To jest mój kod:

#include
#include
#include

int main(void)
{
   initscr();
   printf("Hello world\\n");
   getch();
   endwin();
   return 0;
}

Najpierw go kompiluję: gcc test.c -lncurses -o test2

potem uruchamiam: ./test2

Po uruchomieniu mam takie coś: http://zapodaj.net/e0d0e34204dc.png.html

Kiedy wcisnę jakikolwiek klawisz terminal wraca do poprzedniego stanu.

Mój system: Linux Mint x64, kompilator: gcc, język: C

Offline roobal

  • Users
  • Guru
  • *****
  • Wiadomości: 2056
    • Zobacz profil
Pusty terminal
« Odpowiedź #3 dnia: 2012-03-22, 00:17:06 »
Nadałeś plikowi test2 uprawnienia do uruchomienia się?

Pozdrawiam!

Offline vanhelzing

  • Users
  • Prawie jak Guru
  • ****
  • Wiadomości: 314
    • Zobacz profil
Pusty terminal
« Odpowiedź #4 dnia: 2012-03-22, 01:53:32 »
#include
#include
#include

int main(void)
{
    initscr();
    [color=red]printw[/color]("Hello world\\n");
    getch();
    endwin();
    return 0;
}
W ncurses nie można używać funkcji typu printf i t.d. Musisz używać funkcji z biblioteki ncurses.

man printw

qwerty890

  • Gość
Pusty terminal
« Odpowiedź #5 dnia: 2012-03-22, 14:33:55 »
vanhelzing dzięki już wszystko gra :)