Kör Slackware och gcc kompilatorn och vill kunna läsa in från tangenterna för att kunna köra en robot.
koden som jag verkligen ansåg skulle funka är följande
char c;
while(1)
{
c = getchar();
sen en switchsats
där cases styr funktionsanropen till roboten
default stannar roboten
}
Prolbemet ligger i getchar() för den tar inte in från tangenterna enbart utan echo:ar och kräver sen ett radavslut för att exekveras, naturligtvis kan man "fulkoda" och sätta ett radavslut men det innebär att jag inte kan hålla inne tangenten för att köra roboten framåt.
Någon som har några förslag eller behöver mer info, bara ropa till...
Tänk på att getchar() inte returnerar en char utan en int.
Eller som det står i man sidan för getchar()
man getchar skrev:
int getchar(void);
getchar() is equivalent to getc(stdin).
fgetc() reads the next character from stream and returns it as an unsigned char cast to an int, or EOF on end of file or error.
Men det är inte problemet, problemet är att den egentligen inte lyssnar på tangentbordet, dvs den väntar på enter, vilken den inte borde göra, har implementerat en funktion utan buffring men det hjälper inte.
Kanske måste jag härka mig in i nån form av listener men som sagt lite utanför min kunskapscirkel.
Tackar för det snabba svaret, jag har nu försökt använda ncurses men har ett konstigt problem,
ncurses.h existerar och includeras utan problem, men ingen av functionerna däri tillåts vid kompilering...