Anfängerfrage

Antworten
Nachricht
Autor
Phil

Anfängerfrage

#1 Beitrag von Phil » 02. Sep 1999 18:27

Ich möchte wissen, wie ich mit C/C++ ein Eingabefeld realisieren kann, mit dem ohne Bestätigung mit Return ein Zeichen aufgenommen wird.
Beispiel: Wollen sie das Proggy beenden (y/n)?

Bastardo

Re: Anfängerfrage

#2 Beitrag von Bastardo » 02. Sep 1999 19:12

hi

schau mal in deinen Docus nach getch() und getche() nach.
Falls du keine docus hast:

´man getch´ oder ´man getche´ auf deiner shell eingeben.


have fun

Phil

Re: Anfängerfrage

#3 Beitrag von Phil » 04. Sep 1999 15:37

Das hab ich gemacht, aber ich komm mit den Hilfetexten noch nicht so klar. Kannst du mir vielleicht mal ein kurzes Beispiel posten??

Bastardo

Re: Anfängerfrage

#4 Beitrag von Bastardo » 04. Sep 1999 21:07

#include <stdio.h>
#include <conio.h>

int main()
{
char c;
printf("
Zeichen 1: ");
c = getch();
printf("
Zeichen war %c", c);
printf("
Zeichen 2: "),
c = getche();
printf("
Zeichen war %c
", c);

return (0);
}

Hans-Jürgen Mehnert

Re: Anfängerfrage

#5 Beitrag von Hans-Jürgen Mehnert » 29. Nov 1999 17:48

an den ersten retter hier über mir: seit wann gibt's conio.h unter linux??? ansi-c???

geht leider nur über die ncurses-bibliothek
hab ne schnittstelle gebastelt (für dos und linux)
für alle ein- und ausgaben im textmodus
auch dein problem hab ich gelöst
frag mal an: hjm.aps@gmx.net

Entfernt
Beiträge: 149
Registriert: 22. Jul 1999 12:53

Re: Anfängerfrage

#6 Beitrag von Entfernt » 30. Nov 1999 14:55

Wozu lädst du überhaupt conio.h (welche ich eh nicht kenne), alle Funktionen, die in diesem Beispiel angerufen wurden, stehen in stdio.h! Das ist die einzige datei, die du für das beispiel laden müsstest!

Thomas

Re: Anfängerfrage

#7 Beitrag von Thomas » 30. Nov 1999 16:17

folgendes C++ Beispiel sollte reichen

<pre><font size="2">
#include <iostream> // cout, cin

using namespace std;

int main(int argc, char** argv)
{
char EinZeichen;
cout << "Zeichen eingeben: " << endl;
cin >> EinZeichen;
cout << "Zeichen war " << EinZeichen << endl;
return (0);
}
</font><!--2--></pre>

Andre

Re: Anfängerfrage

#8 Beitrag von Andre » 30. Nov 1999 16:27

Also Leute ... wenn ich mich nicht voellig irre, dann schickt doch den armen nicht so ins Nirvana. Die Standardbibliotheken sowohl von C als auch C++ arbeiten auf Eingabe- und Ausgabe-Streams. Sonst gibt es nichts. Und das Terminal ist dafuer zustaendig, beispielsweise eben den stdin-stream mit den Tastatureingaben zu fuellen. Soweit bestens. Aber das tut so ein Terminal nur zeilenweise nach bestaetigen mit Return. Demnach kann man mit den stream-Geschichten nun mal beim besten willen keine solche return-lose Eingabe realisieren.

Statt dessen kann man aber was programmieren, was nicht ueber die streams geht. Also direkt mit dem Terminal arbeitet. Beispielsweise ncurses ... kann da aber nicht aus eigener Erfahrung reden, weil ich das noch nie selbst gemacht hab. Aber mit sowas geht das zu machen.

Schoenen Tag noch ...

Andre

Antworten