Dev - Cpp kann nicht Quellcode ausführen
-
drück doch mal F9
-
Jep, es klappt, aber nur bei diesem Programm:
#include <iostream> #include <cstdlib> int main() { std::cout << "Hallo Welt!" << std::endl; std::system( "PAUSE" ); }
meiner Funktioniert nicht. Dort kommt, dass er cout und endl nicht kennt.
-
jep.
deswegen haben wir auch ein std:: davor, den cout und endl sind im namespace
std definiert.
-
Und was bedeutet dann
#include <cstdlib>
?
Warum wird das benötigt.
Und was bewirktstd::system( "PAUSE" );
?
Ohne die beiden gehts ja nicht.
Freue mich auf eine Antwort
-
Ach jetzt hab ichs:
std::system("Pause")
steht dafür, dass der Compiler das Programm nicht sofort beendet, ohne dass der User es gesehen hat, oder?
und
#include <cstdlib>
wird dann zu count, cin und endl definiert, weil man im Quelltext ja std:: davorhängen muss.
Warum ist das nötig?
-
..
-
bane4 schrieb:
Ach jetzt hab ichs:
std::system("Pause")
steht dafür, dass der Compiler das Programm nicht sofort beendet, ohne dass der User es gesehen hat, oder?
Das führt einfach den Befehl "PAUSE" aus:
Mache ein CMD-Window auf (WIN+R , cmd.exe), und gib PAUSE ein...
-
Ja, hab ich...
Gibt es da irgendwo eine Liste von solchen cmd Eingaben?
-
dos-befehle
du bist noch nicht sehr alt oder
start->ausführen->cmd.exe
"help" eingeben
-
..
-
bane4 schrieb:
Jep, es klappt, aber nur bei diesem Programm:
#include <iostream> #include <cstdlib> int main() { std::cout << "Hallo Welt!" << std::endl; std::system( "PAUSE" ); }
meiner Funktioniert nicht. Dort kommt, dass er cout und endl nicht kennt.
Vermutlich weil iostream.h ein C header ist und der Compiler nicht findet?
Darin werden die Funktionen cout und endl definiert und da der Compiler die headerdatei nicht findet, weiß er auch nicht was cout sein soll..Bei Deinem funktionierenden Beispiel hast Du kein .h
das std:: kannst Du auch umgehen indem Du nach den include Anweisungen
using namespace std:
einfügst..
Ich hoffe das war jetzt nicht zuviel mist, ich fang selber erst an
Gruß, Peter
-
bane4 schrieb:
#include <cstdlib>
wird dann zu count, cin und endl definiert, weil man im Quelltext ja std:: davorhängen muss.
Warum ist das nötig?
Fast - <cstdlib> (aka <stdlib.h>) enthält (unter anderem) die system()-Funktion. cin, cout und endl holst du dir über die <iostream> (der Header <iostream.h> ist veraltet und sollte nicht mehr verwendet werden).
PS: In den meisten Fällen brauchst du system() nicht - für die klassischen Anwendungsfälle gibt es Alternativen im ANSI-Standard (anstelle von
system("pause");
beispielsweisecin.get();
) oder in der Betriebssystem-API.