Das Ausgabefenster der .EXE einer kompilierten C-Datei blinkt nur kurz auf
-
Das war dann auch noch die letzte gesuchte richtige Antwort.
Jetzt habe ich sogar beide Probleme beantwortet bekommen.
Testurteil: Sehr gut
EDIT zum EDIT:
#include <stdio.h>
int main( int argc, char* argv[] ) {
printf( "Hallo Welt!\n" );
system( "pause" );return 0;
}Und was bedeutet argc ? argv[] ? und system () ?
Ich weis das die ersten beiden Parameter sind und das system() kann ich aber nicht zuordnen, da aber nirgends auftauchen und dadurch in meinen Augen überflüssig erscheinen
Denn am einfachsten wäre es doch
#include <stdio.h>
main()
{
printf( "Hallo Welt!\n" );
return 0;
}wenn ich das ganze dann aus dem Kommandozeilen Modus starte.
-
greymiller schrieb:
Und was bedeutet argc ? argv[] ? und system () ?
Ich weis das die ersten beiden Parameter sind und das system() kann ich aber nicht zuordnen, da aber nirgends auftauchen und dadurch in meinen Augen überflüssig erscheinen
Das "argc" und das "argv" kannst du getrost weglassen und ignorieren. Damit wirst du unter Windows warscheinlich nich mit in berührung kommen. Das sind Parameter, die du über die Komandozeile dem Programm übergeben kannst.
"system" ruft ein anderes Programm, oder einen Systembefehl auf. Hier den Befehl "pause".
-
#include <stdio.h>
main()
{
printf( "Hallo Welt!\n" );
return 0;
}Ich habe es so probiert, es funktioniert auch ohne system ("pause")
-
Habs ja schon gesagt dass dein Problem gar kein Problem ist.
Kurt
-
Ihr sollte dann vieleicht den Hinweis in der FAQ ändern und/oder die hier beschriebenen Möglichkeiten mit aufnehmen/ergänzen.
Denn wenn ich in jedes Programm den vom Forum gegebenen Ratschlag mit einprogrammieren muss, ist das mehr schlecht als recht.
Ich habe natürlich keine Ahnung ob es nur in meinem Falle so einfach geht und nicht doch in den meisten Fällen mit eingearbeitet werden muss.
Danke an alle.
-
-> system("pause") ist schlecht, schlecht, schlecht
-> PAD hat dich angeschwindelt, die ersten beiden Zeilen sind nötig
-> Kommandozeilenprogramme starte ich meistens nicht aus der Kommandozeile, und wenn mein Programm nur funktioniert wenn das der Fall ist...?Also die FAQ-Lösung ist schon korrekt und wurde 100 mal ausdiskutiert. Warum jedes Mal wieder 2 Seiten Diskussion mit verschiedenen unnötigen und weniger guten Vorschlägen kommen ist mir ein Rätsel
MfG SideWinder
-
@Sidewinder, danke für die Korrektur. Ich hatte bisher keine Probleme damit, da ich entweder das Programm im Debugger ausführe,der behält das Fenster am Ende offen, oder es zum Test in einem Consolenfenster mit großem Scrollbuffer starte.
Es gibt auch unter Windows eine Menge Programme denen auf der Kommandozeile parameter übergeben werden, sogar von Microsoft.
Deswegen ist das "int main( int argc, char argv[]*" mit den Übergabeparametern sinnvoll, genauso wie der Prototyp int Sinn macht, damit kann man nähmlich dem aufrufenden Prozess den Erfolg/Misserfolg mitteilen.
-
Hi,
Wieso ist#include <process.h> void main() { system("PAUSE"); }
eine schlechte Variante? Da ich das ab und an mal verwende, moechte ich gerne wissen, wieso das eine schlechte Variatnte ist *g*
Danke im Vorraus!
-
im faq (glaub ansi, rund um oder c++) steht was zu system ;), zu void main braucht man wohl nix sagen
-
// EDIT: gabs schon, übersehen