Willkommen ~Gast!
Registrieren || Einloggen || Hilfe/FAQ || Staff
Probleme mit der Registrierung im Forum? Melde dich unter registerEin Bild.
Autor Beitrag
000
16.08.2001, 16:04
Sccar



moinsen

wisst ihr wie ich cin dazu bringen kann, den input stream nicht nur bis zum ersten leerzeichen, sondern bis zum ersten enter zu lesen?

bye sccar

--

...das is zwar der uebelst gehackteste kleine bastard, den ich je gesehen habe, aber dafuer sauschnell. {Tron}

zum Seitenanfang zum Seitenende Profil || Suche
001
16.08.2001, 16:09
Archangel



das müsste gehen mit cin.getline(char *, int, char);
char * is halt der string wo der inhalt der zeile drin gespeichert wird, int die maximale länge der zeile (afaik) und char is halt das zeichen, bis zu dem eingelesen werden soll, default is '\n'

--

Mar 01 01:10:13 <voice> jo
Mar 01 01:10:40 <voice> bis dann ^^
Mar 01 01:11:20 <Archangel> jo
**** ENDING LOGGING AT Tue Mar 1 01:58:13 2005

zum Seitenanfang zum Seitenende Profil || Suche
002
16.08.2001, 17:13
Another1



oder nimm einfach gets();

--

Another1

...relaxing..atm =)
... und Schweiz suckt!

zum Seitenanfang zum Seitenende Profil || Suche
003
16.08.2001, 18:49
Prefect



Da muß ich zustimmen. cin und cout sind ziemlicher Mist. Ich hatte mal ein Programm, in dem ich mich an cout heranwagte, und was passiert? Die letzten zwei Zeilen in main() sind

cout << "Ende\n";
return 0;
}

Bloß leider hab ich das "Ende" nie gesehen....
Also wieder her mit dem schönen printf() :)
Abgesehen davon, diese Operatoroverloads mit >> und << sollten einem eigentlich den Magen umdrehen.

cu,
Prefect

--

Widelands - Gemütliche Aufbaustrategie, Free Software
Noch ein Blog - Lerne, wie die Welt wirklich ist, aber vergiss niemals, wie sie sein sollte.

zum Seitenanfang zum Seitenende Profil || Suche
004
16.08.2001, 19:19
Archangel



ja, ich mag printf() und scanf() auch lieber, aber hatte halt nach cin gefragt
btw @prefect: das kann daran liegen das du kein << endl; gesetzt hast, dann steht das "Ende\n" zwar im buffer, wird aber nit geschrieben.. ( << flush; dürfte auch gehen..)

--

Mar 01 01:10:13 <voice> jo
Mar 01 01:10:40 <voice> bis dann ^^
Mar 01 01:11:20 <Archangel> jo
**** ENDING LOGGING AT Tue Mar 1 01:58:13 2005

zum Seitenanfang zum Seitenende Profil || Suche
005
16.08.2001, 20:02
Mazze



das müsste doch auch so gehen.....

--

BattleTech-MOD:
http://bthl.unitedgaming.net/

zum Seitenanfang zum Seitenende Profil || Suche
006
16.08.2001, 21:42
Andy_



Mhh.... denk ich auch, das <<endl ist ja nochmal ein Zeilenwechsel, und da C++ ja mit den tollen << >> rumkaspert gehört noch ein "Bitzuweiser" hinzu, aber ohne den beiden Sachen müsstes auch gehen, oder?.

--

42 Es gibt keinen Sinn des Lebens.

zum Seitenanfang zum Seitenende Profil || Suche
007
17.08.2001, 01:18
Son-Goten



kann mir mal wer ein beispiel zu printf() liefern?
thnx

--

zum Seitenanfang zum Seitenende Profil || Suche
008
17.08.2001, 07:17
Zeeke



printf("bla bla\n");
oder
printf("Du bist %i.", iAlter);
War das so schwer? *g*

--

zum Seitenanfang zum Seitenende Profil || Suche
009
17.08.2001, 11:30
Sccar



moinsen, vielen dank erstmal. ich hab den tipp (<- neue rechtschreibung :) von archangel befolgt, und dies hier gecodet:

char input[256];

cout << endl << "Bitte Titel des Buches eingeben: ";
cin.getline(input , 256, '\n');
cout << endl << "Bitte Nachnamen des Ausleihers eingeben: ";
cin >> bla;

wenn ich jetzt das programm ausführe kommt einfach nur folgendes

Bitte Titel des Buches eingeben: (das cin.getline() scheint übersprungen zu werden)
Bitte Nachnamen des Ausleihers eingeben: (und erst hier kann ich wieder eine eingabe machen)

was mach ich falsch??

bye sccar

--

...das is zwar der uebelst gehackteste kleine bastard, den ich je gesehen habe, aber dafuer sauschnell. {Tron}

zum Seitenanfang zum Seitenende Profil || Suche
010
17.08.2001, 11:53
Son-Goten



ähh..nein, so schwer war das nicht mit printf() - hab ich dann auch herausgefunden ;)

[edit]
allerdings printf("blabla %i bla", iAlter); <-- wieso dieses i und dann das i vor dem alter?!
[/edit]

--


Dieser Beitrag wurde am 17.08.2001 um 12:10 von Son-Goten bearbeitet.
zum Seitenanfang zum Seitenende Profil || Suche
011
17.08.2001, 12:35
Andy_



Arg.... %i ist die Stelle an der der Wert ausgeben wird, dabei steht i für Integer, und das iAlter ist die Variable für (%)i, es könnte auch nur "Alter" heißen, jedoch gibts da die ungarische Notation, die verdeutlicht, dass iAlter einen Integer Wert hat.
Steht im fast jedem C Buch, soltest dir auch mal ein zulegen ;)

--

42 Es gibt keinen Sinn des Lebens.


Dieser Beitrag wurde am 17.08.2001 um 12:37 von Andy1 bearbeitet.
zum Seitenanfang zum Seitenende Profil || Suche
012
17.08.2001, 17:53
Son-Goten



ja, mir ist auch klar, was das macht, total verblödet bin ich denn nun auch nicht ;)
aber wenn ich jetzt nen char ausgeben will?! das funktioniert mit dem %i nämlich nicht unbedingt......

[edit]
ICH HAB´S!! %s ;)
[/edit]

--


Dieser Beitrag wurde am 17.08.2001 um 17:54 von Son-Goten bearbeitet.
zum Seitenanfang zum Seitenende Profil || Suche
013
17.08.2001, 17:56
Zeeke



char cText[50];
printf("Dein Name? ");
scanf("%s", &cText);
printf("Ahja, du heisst also %s, ein dolla Name :D", cText);

--

zum Seitenanfang zum Seitenende Profil || Suche