hallo Leute, ich habe nach einigen Jahren noch mal angefangen mit c++. Wie oben ersichtlich habe ich visual c++. Um erst mal keine Probleme zu haben, habe ich ein klassisches hello world Programm angegangen. Das Problem, was mich wahnsinnig macht ist, daß ich keine Ausgabe erhalte. Also ich habe eine leere win32 Anwenung erzeugt, eine datei ins Projekt eingefügt und folgenden code verwendet: #include <conio.h> #include <iostream.h> int main() { cout<<"was zu sehen?"; _getch(); return 0; } das wird compiliert und das _getch() klappt auch, aber es gibt keien Ausgabe... woran kann das liegen? Ich begreife das nicht. schönen Dank
Wir haben mal gelernt, dass man #include <iostream>" ohne ".h" schreibt, dazu dann noch ein "using namespace std;" Bei mir geht Dein Programm insofern, dass der Text ausgegeben wird. Allerdings erst nach dem Tastendruck. Füge mal noch ein "<< endl" an, damit veranlasst Du, dass der Text sofort ausgegeben wird.
Ich werde das nachher sofort mal ausprobieren. Mir dämmert irgendwas in der Richtung, daß man sich nicht sicher sein kann, wann genau der Ausgangspuffer geleert wird. Mit endl forciert man die Ausgabe? guter Tip Wie gesagt, ist ein Neueinstieg ich hab zig Jahre Pause gemacht mit entsprechender Halbwertzeit an Wissen kann man sich denken wie mein Kenntnisstand derzeit ist. :-( Besten Dank erstmal. Wenn es noch Probleme gibt melde ich mich wieder
Nachtrag: ja klappt. besten Dank! Eine Frage tauchte da noch auf. Wenn ich anstatt endl zu schicken ein fflush(stdout) mache. Ist der Text dennoch nicht sichtbar. Das holt mich nach meiner kurzen Sternstunde wieder runter, dachte ich doch ich hätte das Problem verstanden. Kannst du mir erklären, weshalb das nicht erfolgreich ist?
Das endl wirkt wie printf("\n"). Wenn du nur die Ausgabe auffrischen willst, rufe cout.flush(); auf. Gruß Marco
In Ordnung ich bin jetzt ruhig und melde mich nur im Falle von dicken Problemen.... << flush. Da habe ich was durcheinander gebracht. sry
Was Du aus dem bisherigen mitnehmen solltest: In C++ gibt es prinzipiell 2 Ausgabemethoden: Die eine basiert auf dem von C geerbten Dingen also printf, getch, stdout, stdin, fflush, ... die andere ist die modernere und mehr C++ - like: Streams cout und cin mit den zugehoerigen Operator Ueberladungen << und >> sowie einigen Zusatzfunktionen die als Memberfunktionen der streams ausgefuehrt sind. Ein Mischen der beiden Methoden ist ein absolut sicherer Weg sich selbst in den Wahnsinn zu treiben, da in C++ nicht definiert ist ob und wie die beiden Methoden zusammenhaengen bzw. ueberhaupt irgendetwas miteinander zu tun haben.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.