Obsah fóra
PravidláRegistrovaťPrihlásenie




Odpovedať na tému [ Príspevkov: 9 ] 
AutorSpráva
Offline

Užívateľ
Užívateľ
unix a C

Registrovaný: 23.11.08
Príspevky: 187
Témy: 34
Bydlisko: IP: 209.85....
Príspevok NapísalOffline : 04.12.2008 18:32

Caute. Ako spravim getche() popripade getch() v C pod unixom? Aka je alternativa k funkcii khbit()? clrscr() vyriesim cez vypis for.........putchar("\n"); Zislo by sa aj textcolor(), no to je skor otazka dizajnu...Hlavne potrebujem aby mi to fungovalo, nie vyzeralo... Na nete som nasiel akurat gotoxy():
Kód:
#include <string.h>

int gotoxy(int x, int y) {
  char essq[100];
  char xstr[100];
  char ystr[100];

  sprintf(xstr, "%d", x);
  sprintf(ystr, "%d", y);
  essq[0] = '\0';
  strcat(essq, "\033[");
  strcat(essq, ystr);
  strcat(essq, "d");
  strcat(essq, "\033[");
  strcat(essq, xstr);
  strcat(essq, "G");
  printf("%s", essq);

  return 0;
}

Pouzivam Code::Blocks, Ubuntu 8.11


Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 30.04.08
Prihlásený: 15.05.15
Príspevky: 884
Témy: 3
Príspevok NapísalOffline : 04.12.2008 18:42

Skus vygooglit tie kniznice, kde su tie funkcie definovane. :D Ohladom toho getch, hladaj ncurses. :)







_________________
Empty your memory, with a free()… like a pointer!
If you cast a pointer to an integer,
it becomes the integer, if you cast a pointer to a struct, it becomes the struct…
The pointer can crash…, and can overflow…
Be a pointer my friend…
Offline

Užívateľ
Užívateľ
unix a C

Registrovaný: 23.11.08
Príspevky: 187
Témy: 34
Bydlisko: IP: 209.85....
Príspevok Napísal autor témyOffline : 04.12.2008 21:23

Ano, vdaka treba na to funkciu <ncurses.h> potom pojde vymazanie obrazovky:
Kód:
void clrscr() {
  #ifndef unix
  system("cls");
  #else
  system("clear");
  #endif
}

Nasiel som aj ine vymazanie obrazovky:
Kód:
  puts("\33[H\33[2J");

alebo
Kód:
  fputs("\33[H\33[2J",stdout);

s tou kniznicou pojde aj getche();
len nemozem najst ako nainstalujem, respektive stiahnem a kde skopirujem kniznicu <ncurses.h>
Neviete nahodou?


Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 30.04.08
Prihlásený: 15.05.15
Príspevky: 884
Témy: 3
Príspevok NapísalOffline : 04.12.2008 21:32

No podla mna by si to uz mal mat v kompilatore v Linuxe... ci nie? :rolleyes:







_________________
Empty your memory, with a free()… like a pointer!
If you cast a pointer to an integer,
it becomes the integer, if you cast a pointer to a struct, it becomes the struct…
The pointer can crash…, and can overflow…
Be a pointer my friend…
Offline

Užívateľ
Užívateľ
unix a C

Registrovaný: 23.11.08
Príspevky: 187
Témy: 34
Bydlisko: IP: 209.85....
Príspevok Napísal autor témyOffline : 04.12.2008 21:41

Ked do zdrojaku napisem #include <ncurses.h> tak code::blocks vypise pri kompilacii:
error: ncurses: No such file or directory
Skusal som stiahnut ncurses cez Synaptic Package Manager, no nepomohlo...


Offline

Užívateľ
Užívateľ
unix a C

Registrovaný: 30.05.07
Prihlásený: 29.03.14
Príspevky: 641
Témy: 46
Príspevok NapísalOffline : 04.12.2008 22:11

skus kompilovat s parametrom -lncurses na konci


Offline

Užívateľ
Užívateľ
unix a C

Registrovaný: 23.11.08
Príspevky: 187
Témy: 34
Bydlisko: IP: 209.85....
Príspevok Napísal autor témyOffline : 04.12.2008 22:24

ak myslis #include <ncurses.h -lncurses>
alebo #include <ncurses.h> -lncurses
tak to nefunguje...
Nemam kniznicu <ncurses.h>, dal som hladat v konzole, cez $ dpkg --search ncurses.h no nenaslo a ked som dal hladat tym istym prikazom curses.h naslo len kniznice pre python2.4...
Niekde na nete som nasiel ze tam treba aby naslo
libncurses5-dev: /usr/include/curses.h
potom ze to pojde...len ako dostat kniznicu do spravneho priecinka?


Offline

Užívateľ
Užívateľ
unix a C

Registrovaný: 30.05.07
Prihlásený: 29.03.14
Príspevky: 641
Témy: 46
Príspevok NapísalOffline : 04.12.2008 22:47

nie, myslel som prekladat prikazom gcc [parametre] zdroj -lncurses (aj ked asi to codeblocks tak robi, neviem co to je za editor/ide)
edit: ale to nepomoze ak to fakt nemas na disku... skus napriklad preinstalovat gcc


Offline

Užívateľ
Užívateľ
unix a C

Registrovaný: 23.11.08
Príspevky: 187
Témy: 34
Bydlisko: IP: 209.85....
Príspevok Napísal autor témyOffline : 07.12.2008 21:34

Takze stiahol som kniznicu ncurses.h, nejaku upravenu conio.h pre linux a uz mi funguje vacsina potrebnych funkcii, akurat kbhit() blbol, tak som vymenil za iny, ktory som nasiel na nete:
Kód:
static int initialized = 0;
static struct termios original_tty;

void kbinit()
{
  struct termios tty;
  tcgetattr(fileno(stdin), &original_tty);
  tty = original_tty;

  /* Disable ICANON line buffering, and ECHO. */
  tty.c_lflag &= ~ICANON;
  tty.c_lflag &= ~ECHO;
  tcsetattr(fileno(stdin), TCSANOW, &tty);

  /* Decouple the FILE*'s internal buffer. */
  /* Rely on the OS buffer, probably 8192 bytes. */
  setbuf(stdin, NULL);
  initialized = 1;
}

/* Call this just before main() quits, to restore TTY settings! */
void kbfini()
{
  if(initialized)
  {
    tcsetattr(fileno(stdin), TCSANOW, &original_tty);
    initialized = 0;
  }
}

int kbhit()
{
  if(!initialized)
  {
    kbinit();
  }

  int bytesWaiting;
  ioctl(fileno(stdin), FIONREAD, &bytesWaiting);
  return bytesWaiting;
}

/* Call this just when main() does its initialization. */
/* Note: kbhit will call this if it hasn't been done yet. */

...mozno to niekomu pomoze.
Aj ked som nahradil vsetky win funkcie linuxackymi, aj tak mi to nefunguje, ako vo win...


Odpovedať na tému [ Príspevkov: 9 ] 


Podobné témy

 Témy  Odpovede  Zobrazenia  Posledný príspevok 
V tomto fóre nie sú ďalšie neprečítané témy. Unix Benchmarks

v Operačné systémy Unix a Linux

3

1442

08.02.2014 10:25

polo Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. IBM UNIX AIX

v Operačné systémy Unix a Linux

5

761

06.06.2008 22:39

FERDA23 Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Najpouzivanejsi unix/linux

v Operačné systémy Unix a Linux

28

4945

08.01.2008 15:51

Wheeler Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Vypis argumentov - Csh - UNIX

v Assembler, C, C++, Pascal, Java

0

649

07.10.2007 16:32

SAmo Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Unix pre desktopy - DesktopBSD

v Operačné systémy Unix a Linux

10

1030

08.06.2006 0:26

JanoF Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. hladame Support Specialist (Win, Unix)

v Ponuka práce

7

1042

05.12.2007 22:37

IT specialist Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. unix time na normalny cas

v PHP, ASP

1

735

10.03.2007 22:08

p360t Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. UNIX - Pridanie vlákien do programu.

v Assembler, C, C++, Pascal, Java

1

289

22.04.2014 17:10

BX Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. praca - linux alebo unix-like systemy

v Operačné systémy Unix a Linux

3

764

02.12.2008 18:14

jararak Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Hladame Unix specialistov s plynulou Anglictinou

v Ponuka práce

0

418

03.05.2012 15:10

Rasto4 Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Stranky so zameranim na linux a unix

v Operačné systémy Unix a Linux

28

7537

06.09.2023 22:10

89Aquarius Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Hladam niekoho na konzultacie javy a Unix

v Ponuka práce

1

869

09.01.2009 21:15

Skorpikon Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. UNIX like system a 3g net od Pomarancu

v Operačné systémy Unix a Linux

0

503

24.08.2007 13:59

erased_fear Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Linux/unix Bash Prikaz pre zoradenie vzostupne etc.

v Operačné systémy Unix a Linux

1

425

03.12.2013 15:35

XOLOO Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Konvertovanie UNIX casu do DAYS / HOURS / MINUTES / SECONDS

v PHP, ASP

2

385

24.07.2010 19:18

stenley Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Unix/Linux Engineers pre znamu socialnu siet (Dublin, Irsko)

v Ponuka práce

0

476

15.03.2012 10:39

CPLjobs Zobrazenie posledných príspevkov


Nemôžete zakladať nové témy v tomto fóre
Nemôžete odpovedať na témy v tomto fóre
Nemôžete upravovať svoje príspevky v tomto fóre
Nemôžete mazať svoje príspevky v tomto fóre

Skočiť na:  

Powered by phpBB Jarvis © 2005 - 2024 PCforum, webhosting by WebSupport, secured by GeoTrust, edited by JanoF
Ako väčšina webových stránok aj my používame cookies. Zotrvaním na webovej stránke súhlasíte, že ich môžeme používať.
Všeobecné podmienky, spracovanie osobných údajov a pravidlá fóra