Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (GNU/Linux, *NIX, *BSD und Co) » system("read") unter Linux

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 <
000
24.11.2009, 16:13 Uhr
PrototypePHX



Hallo,

auf der Suche nach einer Alternative zu getch() auf Linux Systemen bin ich auf system("read") gestoßen. Beim Ausführen kommt an der Stelle, an der die Tasteneingabe kommen sollte die Fehlermeldung (?) "read: 1: arg count". Woran liegt das bzw. gibt es andere Alternativen zu getch?

MfG
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
24.11.2009, 21:55 Uhr
FloSoft
Medialer Over-Flow
(Administrator)


wenn du schon "getch" brauchst, nimm ncurses:


C++:
#include <curses.h>

int getch(void);



das mit system("read") vergiss so schnell wieder wie du das auch nur gelesen hast. Das funktioniert nur bedingt: u.A nur wenn der user bash oder sh als shell verwendet, bei anderen wo es "read" nicht als befehl gibt, wird das dann nicht funktionieren.

Warum er die Fehlermeldung bringt ist klar: read verlangt einen Parameter, in der er das eingegebene schreiben soll.

Weiterhin benötigt "read" nach wie vor ein "Enter".

und system ist immer böse (siehe FAQ)
--
class God : public ChuckNorris { };
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
25.11.2009, 14:46 Uhr
PrototypePHX



Danke schonmal für die Antwort, allerdings bekomme ich bei deinem Beispiel den Fehler "error: macro "getch" passed 1 arguments, but takes just 0".

MfG
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
25.11.2009, 15:09 Uhr
FloSoft
Medialer Over-Flow
(Administrator)


das war auch kein beispiel, sondern nur eine funktionsdeklaration rauskopiert aus der manpage.

benutzen musst du das natürlich schon entsprechend
--
class God : public ChuckNorris { };
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
004
25.11.2009, 15:19 Uhr
0xdeadbeef
Gott
(Operator)


curses ist für den Zweck allerdings denkbar ungeeignet, wenn das Programm nicht sowieso schon in curses läuft.

Ich hab da doch vor ewigen Zeiten...ah: https://ssl.secure-hosts.de/www.fun-soft.de/showtopic.php?threadid=5157
--
Einfachheit ist Voraussetzung für Zuverlässigkeit.
-- Edsger Wybe Dijkstra
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ C / C++ (GNU/Linux, *NIX, *BSD und Co) ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: