0 Daumen
1k Aufrufe

Frage:

Hallo, ich habe eine Generelle Frage zur Programmiersprache C. Ich habe untenstehendes Programm in Codeblocks programmiert. Ich habe nun Codeblocks geschlossen und möchte nur die erstellte .exe Datei ausführen. Ich gehe also in den entsprechnden Ordner \bin\Debug und dort ist die .exe Datei. Sobald ich die Datei ausführe öffnet sich nur ganz kurz die Eingabeaufforderung aber nix weiteres passiert. Wenn ich die .c Datei in Codeblocks kompiliere und ausführe wird das Programm ordnungsgemäß ausgeführt. Meine Frage: Wieso funktioniert die erstellte .exe Datei nicht? Denn die automatisch erstellte .exe Datei müsste sich doch gleich verhalten als das Programm direkt in Codeblocks ausgeführt?


Code:

#include <stdio.h>

int main()
{
  int a,b,c;

  for(a='A';a<='Z';a=a+1)
  {
      for(b='A';b<='Z';b=b+1)
      {
          for(c='A';c<='Z';c=c+1)
          {
              printf("%c%c%c\n", a,b,c);
          }
      }
  }


  return 0;
}
Avatar von

2 Antworten

0 Daumen

Bei mir funktioniert das Programm wie erwartet, egal, wie es aufgerufen wird. Allerdings steht die .exe-Datei im selben Verzeichnis wie die .c-Datei.

Avatar von

Verwendest du auch Codeblocks oder eine andere Software wie z.b Visual Studio? Habe meine .exe Datei auch in den Ordner einfach herüberkopiert wo sich die .c Datei sich befindet. Aber habe da das selbe Problem...

Ich habe es mit Codeblocks gemacht. Die .exe-Datei wird mit meinen Einstellungen immer in dem Verzeichnis mit der .c-Datei erzeugt. Rufe ich die .exe-Datei von Windows aus auf, wird die Konsole geöffnet, die Ausgabe ausgegeben und die Konsole wieder geschlossen. Ist dein Rechner sehr schnell, dann sieht man von der Ausgabe nicht viel.

Beim Aufruf von der Konsole aus bleibt die Konsole nach der Ausgabe offen.

Danke für die Antwort.

0 Daumen
Sobald ich die Datei ausführe öffnet sich nur ganz kurz die Eingabeaufforderung

Sobald die Eingabeaufforderung offen ist wird das Programm ausgeführt.

Dannach wird die Eingabeaufforderung geschlossen ohne dass du hinreichend Zeit hast, die Ausgabe des Programms zu begutachten.

Öffne die Eingabaufforderung, navigiere mittels cd zu dem Verzeichis der .exe-Datei und führe das Programm aus indem du den Dateinamen des Programms eintippst.

Alternativ dazu kannst du eine Verzögerung vor return 0 einbauen. Zum Beispiel wartet getchar() aus <stdio.h> auf einen Tastendruck.

Avatar von 5,7 k

Stimmt mit getchar() funktioniert es. Ich wusste das nicht. Dann wäre es aber immer besser wenn man geschriebene Programme in C, also .exe Dateien, immer direkt mit der Eingabaufforderung öffnet.

Ein anderes Problem?

Stell deine Frage

Willkommen bei der Stacklounge! Stell deine Frage einfach und kostenlos

x
Made by a lovely community