GNU Compiler

Post Reply
Message
Author
jorschi

GNU Compiler

#1 Post by jorschi »

Ich hätte folgende Frage zum gnu-compiler!
folgender code unterscheidet sich im copilat von anderen compilern(z.B.: borland compiler):

cout << "Hallo Welt" <-- mußte sein
getch()

beim gnu ist es so das erst gewartet wird, bis eine taste gedrückt wird und erst dann kommt "Hallo Welt"
im gegensatz zu den anderen compilern; was ja eigentlich der normalfall ist oder sein sollte!! wo muß ich jetzt den fehler suchen?? liegt es code?? kann ja eigentlich nicht sein, aber das der compiler einen fehler haben soll, finde ich reichlich merkwürdig...

User avatar
heinrich
Posts: 219
Joined: 22. Sep 1999 11:22
Location: N49.137 E8.544

Re: GNU Compiler

#2 Post by heinrich »

Die Ausgabe mit cout ist gepuffert; somit kann es durchaus vorkommen, dass bei deinem Beispiel einmal die Ausgabe vor der Eingabe erscheint bzw. die Ausgabe erst _nach_ der Eingabe erfolgt.
Aus meiner Sicht dürfte beides korrekt sein -- obwohl man eigentlich erwartet, dass das Programm der Reihe nach abgearbeitet wird.
Wenn Du auf jeden Fall die Ausgabe vor der Eingabe haben möchtest, dann nimmt entweder cerr (oder clog) oder printf()

// Version 1
char c;
cout << "Hallo Welt" << endl;
cin >> c;

// Version 2a
char c;
clog << "Hallo Welt" << endl;
cin >> c;

// Version 2b
char c;
cerr << "Hallo Welt" << endl;
cin >> c;


// Version 3
char c;
printf("Hallo Welt");
cin >> c;

Jochen

Re: GNU Compiler

#3 Post by Jochen »

Die Version 3 (mit printf()) hat ggf. die gleiche Probleme, da hier das
fehlt.

Jochen

Re: GNU Compiler

#4 Post by Jochen »

Siehe da, und es fehlt immer noch... Ich meinte natürlich, dass das \<!--no-->n fehlt.

Wofür so'n Vorschau-Button nicht alles gut ist...

Post Reply