Anfängerfrage

Post Reply
Message
Author
Phil

Anfängerfrage

#1 Post by Phil »

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 Post by Bastardo »

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 Post by Phil »

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 Post by Bastardo »

#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 Post by Hans-Jürgen Mehnert »

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
Posts: 149
Joined: 22. Jul 1999 12:53

Re: Anfängerfrage

#6 Post by Entfernt »

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 Post by Thomas »

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 Post by Andre »

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

Post Reply