cout unter windows?

con-f-use

Erfahrenes Mitglied
Hallo,

mache wie gesagt gerade meine ersten Schritte in C++. Habe bisher immer unter Linux meine kleinen Gehversuche geschrieben. Jetzt auf Windows wundert mich doch eine Sache:

Folgender Code funktioniert und Linux in der Konsole einwandfrei, nicht aber in der Windows-Eingabeaufforderung:
Code:
#include <iostream>

int main() {
    std::cout << "Test" << std::endl;
    return 0;
}

Warum ist das so und wie macht man es unter windows richtig? Schätze mal es liegt daran, wie die einzelen Betriebssysteme mit ihren Streambuffern umgehen. Kann's mir aber trotzdem nicht weiter erkähren.

Danke und Gruß
von con-f-use
 
Hi

dein Programm sollte unter Windows funktionieren. Hilfreich wäre eine evtl vorhandene Fehlermeldung oder was genau nicht geht (kompilieren, ausführen, ...)

mfg Higret
 
Es gibt keine Fehlermeldungen. Kompilieren läuft mit mingw ganz normal. Habe WindowsXP Professionel und habe es über eine offene Eigabeaufforderung gestartet
 
das programm an sich ist in ordnung

früher habe ich unter dev c++ , jetz under Visual studio c++ programmiert

vielleicht probierst dus mal mit dev c++, mir hat das immer mehr behagt als nur mit dem text editor und dann mit minigw kompilieren (natürlich ansichtssache)


zu deinem problem: du hast ein cmd fenster aufgemacht, und dann startest du das programm? hängt er dann, oder schreibt er einfach nichts hin sobald du enter drückst?
 
Hallo con-f-use,

füge in Deinem Quellcode eine Pause mit ein, nur um zu Prüfen ob Deine Testdatei wirklich abgearbeitet wird, oder ob Windows einfach ein Fenster öffnet und gleich wieder schliesst.

Dein Quellcode sollte also wie folgt aussehen:

Code:
#include <iostream>
#include <stdio.h>

int main() {
    std::cout << "Test" << std::endl;
    system("Pause");
    return 0;
}

Gruß

PS: Habe leider kein C++ Programm hier, so dass ich nicht sagen kann ob die Bibliothek richtig ist ... :\
 
Hi.

Kann es evtl. sein, das du dein Programm gar nicht aufrufst? Wie heißt denn dein Programm? Du hast es nicht zufällig genauso genannt wie einen eingebauten Befehl des Kommandoprozessors? Wie rufst du das Programm auf? Versuch doch mal den Pfad anzugeben.

@Colin: Die Funktion system ist in der Headerdatei stdlib.h definiert, die unter C++ als cstdlib eingebunden wird.

Gruß
 
Okay, System("Pause") hab ich noch nicht versucht.

Am Namen liegt es sicher nicht, den habe ich mehrmals variiert. Bin auch kein totaler Newbie, habe schon Java programmiert, kann Perl recht passabel und bin in den Websprachen gut.

Es kommt wirklich keine Fehlermeldung und nichts was auf einen anderen Fehler offentsichtlich hinweisen würde. Andere Programme, in denen ich std::cout nicht verwende funktionieren tadellos sogar Qt- und andere GUI-Sachen. An der Compiler-Installation liegt es also höchstwahrscheinlich auch nicht. Echos sind auch nicht ausgeschaltet.

Hielt es zuerst für eine Windows-Schikane, die ich nicht kannte und mir schnell jemand erklären könnte. Anscheinend sitzt aber der Fehler tiefer.

Kann mir die Sache nicht erklären.

Versuche mal das mit System(Pause).
 
Zuletzt bearbeitet:
Okay, Fehler lag an meinem PC. Ich weiß nicht warum, habe aber jetzt meinen PC komplett neu aufgesetzt und jetzt geht das ursprüngliche Programme einwandfrei. Keine Ahnung woran es lag. Werde es wohl nie erfahren...

Trotzdem danke für eure Hilfe. Schade dass mich und euch so ein D**** so viel Zeit gekostet hat.
 
Zuletzt bearbeitet:
Zurück