Page 1 of 1

Anfängerfrage

Posted: 02. Sep 1999 18:27
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)?

Re: Anfängerfrage

Posted: 02. Sep 1999 19:12
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

Re: Anfängerfrage

Posted: 04. Sep 1999 15:37
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??

Re: Anfängerfrage

Posted: 04. Sep 1999 21:07
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);
}

Re: Anfängerfrage

Posted: 29. Nov 1999 17:48
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

Re: Anfängerfrage

Posted: 30. Nov 1999 14:55
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!

Re: Anfängerfrage

Posted: 30. Nov 1999 16:17
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>

Re: Anfängerfrage

Posted: 30. Nov 1999 16:27
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