[ Príspevkov: 9 ] 
AutorSpráva
Offline

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

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

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 | 3
NapísalOffline : 04.12.2008 18:42 | unix a C

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 | 34
Bydlisko: IP: 209.85....
Napísal autor témyOffline : 04.12.2008 21:23 | unix a C

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 | 3
NapísalOffline : 04.12.2008 21:32 | unix a C

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 | 34
Bydlisko: IP: 209.85....
Napísal autor témyOffline : 04.12.2008 21:41 | unix a C

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 | 46
NapísalOffline : 04.12.2008 22:11 | unix a C

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 | 34
Bydlisko: IP: 209.85....
Napísal autor témyOffline : 04.12.2008 22:24 | unix a C

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 | 46
NapísalOffline : 04.12.2008 22:47 | unix a C

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 | 34
Bydlisko: IP: 209.85....
Napísal autor témyOffline : 07.12.2008 21:34 | unix a C

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...


 [ Príspevkov: 9 ] 


unix a C



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

1138

08.02.2014 10:25

polo

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

IBM UNIX AIX

v Operačné systémy Unix a Linux

5

617

06.06.2008 22:39

FERDA23

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

Najpouzivanejsi unix/linux

v Operačné systémy Unix a Linux

28

4744

08.01.2008 15:51

Wheeler

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

Vypis argumentov - Csh - UNIX

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

0

493

07.10.2007 16:32

SAmo

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

817

08.06.2006 0:26

JanoF

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

144

22.04.2014 17:10

BX

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

hladame Support Specialist (Win, Unix)

v Ponuka práce

7

863

05.12.2007 22:37

IT specialist

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

unix time na normalny cas

v PHP, ASP

1

575

10.03.2007 22:08

p360t

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

Hladame Unix specialistov s plynulou Anglictinou

v Ponuka práce

0

284

03.05.2012 15:10

Rasto4

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

570

02.12.2008 18:14

jararak

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

27

7075

02.11.2019 17:58

JanoF

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

Hladam niekoho na konzultacie javy a Unix

v Ponuka práce

1

735

09.01.2009 21:15

Skorpikon

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

Konvertovanie UNIX casu do DAYS / HOURS / MINUTES / SECONDS

v PHP, ASP

2

256

24.07.2010 19:18

stenley

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

357

24.08.2007 13:59

erased_fear

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

206

03.12.2013 15:35

XOLOO

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

316

15.03.2012 10:39

CPLjobs



© 2005 - 2020 PCforum, edited by JanoF