Printf() funktioniert nicht in Codeblocks?

4 Antworten

Du bekommst auch einen ganz anderen return-Wert.

Demnach wird wohl ein anderes Programm ausgeführt, nichtd eines.

versuch es mal mit der "Build and Run"-Funktion direkt in CodeBlocks, da sollte es funktionieren.

Andernfalls kannst du versuchen,d er return-Wert auszuwerten.


Raphi1006 
Fragesteller
 12.10.2019, 15:39

Ich habe es immer mit Build and Run ausgeführt und eigentlich sollte das entsprechende Programm ausgeführt werden.

0
Destranix  12.10.2019, 17:41
@Raphi1006

Siehe meinen anderen Kommenta uf meine Antwort.

Doprst sollte die Lösung verlinkt sein.

0
Raphi1006 
Fragesteller
 12.10.2019, 17:58
@Destranix

Auf dieser Seite wird nur erklärt das er die falsche Syntax benutzt aber mein Code ist ja ordnungsgemäß

0

Kann an den Compiler settings liegen.

Kannst du mal einen Screenshot von den entsprechenden Settings machen??

Woher ich das weiß:Studium / Ausbildung – Informatikstudent

Raphi1006 
Fragesteller
 12.10.2019, 15:37

Welche Settings genau würden Sie gerne ansehen?

0
Raphi1006 
Fragesteller
 12.10.2019, 17:29
@whgoffline

Wenn ich auf new flag gehe kann ich dort eine neue flag eintragen mit Name, Compiler flags, Linker FLags,...

0
whgoffline  12.10.2019, 17:31
@Raphi1006

Hm.....Ich hatte eher das hier erwartet, aber bin wirklich kein codeblocks Experte ;)

0
Raphi1006 
Fragesteller
 12.10.2019, 17:35
@whgoffline

Kein Problem, bin trotzdem dankbar für ihre Mühe

0

Könnte damit zusammenhängen, dass du auf einem Windows-System unterwegs bist.

Versuchs mal damit:

#include <stdio.h>
int main(int argc, char *argv[]){
    printf("Hello World.\r\n");
}

Raphi1006 
Fragesteller
 12.10.2019, 15:42

Ich habe den Code versucht und erhalte leider dasselbe Ergebnis.

0

Du betrachtest eine Datei main.c, führst aber offenbar ein anderes Programm test6.exe aus.


Raphi1006 
Fragesteller
 12.10.2019, 15:40

"test6" heißt das Projekt in dem sich die main.c Datei befindet und diese ist auch die einzige .c-Datei in diesem Projekt.

0
ralphdieter  12.10.2019, 16:08
@Raphi1006

Mag ja sein, aber diese Datei gehört offenbar nicht zum Projekt: Der Build meldet "Nothing to be done", und das gestartete Programm test6.exe gibt kein "Hello World" aus, läuft über 5 Sekunden lang und liefert nicht 0 zurück.

Du kannst in Deine main.c wahrscheinlich eintippen, was Du willst. Es macht keinen Unterschied.

  • Entweder hast Du Dich im Pfad vertan,
  • oder Du musst main.c explizit dem Projekt hinzufügen,
  • oder test6 ist nicht als Standard-C-Konsolen-Anwendung konfiguriert.
  • oder ...
1
Raphi1006 
Fragesteller
 12.10.2019, 17:36
@ralphdieter

Das Problem tritt bei allen Projekten auf die ich erstelle. Habe auch schon Codeblocks neu installiert aber es hat nichts geholfen.

0
ralphdieter  12.10.2019, 18:27
@Raphi1006

Lösche mal die test6.exe und starte das Programm neu. In der IDE-Console sollte dann statt "Nothing to be done" die Liste der Befehle stehen, mit denen test6.exe gebaut wird.

Kopiere diesen Text und zeige ihn hier -- aber bitte als Code formatiert (Button </>)

0
Raphi1006 
Fragesteller
 12.10.2019, 18:42
@ralphdieter

Interessant. Ich finde die entsprechende exe Datei gar nicht im vorgesehenen Verzeichnis.

Build Log:

-------------- Build: Debug in Test 9 (compiler: GNU GCC Compiler)---------------

mingw32-gcc.exe -Wall -g -c "C:\Users\raffi\Documents\C-Projekte\Test 9\main.c" -o obj\Debug\main.o

mingw32-g++.exe -o "bin\Debug\Test 9.exe" obj\Debug\main.o  

Output file is bin\Debug\Test 9.exe with size 41.95 KB

Process terminated with status 0 (0 minute(s), 0 second(s))

0 error(s), 0 warning(s) (0 minute(s), 0 second(s))

 

-------------- Run: Debug in Test 9 (compiler: GNU GCC Compiler)---------------

Checking for existence: C:\Users\raffi\Documents\C-Projekte\Test 9\bin\Debug\Test 9.exe

Executing: "C:\Program Files (x86)\CodeBlocks/cb_console_runner.exe" "C:\Users\raffi\Documents\C-Projekte\Test 9\bin\Debug\Test 9.exe" (in C:\Users\raffi\Documents\C-Projekte\Test 9\.)

Process terminated with status 4258096 (0 minute(s), 2 second(s))

 

0
ralphdieter  12.10.2019, 19:09
@Raphi1006

Wie ich sehe, wird main,c erfolgreich zu "Test 9.exe" kompiliert. Dann startet cb_console_runner.exe, das vermutlich Deine "Test 9.exe" starten soll und danach die Laufzeit und den Exit-Code ausgibt und auf einen Testendruck wartet.

So gesehen hast Du also nichts falsch gemacht -- außer bei der Wahl des Betriebssystems :-P

Mach mal 'ne Dos-Box auf und gib

C:\Users\raffi\Documents\C-Projekte\Test 9\bin\Debug\Test 9.exe"

ein (in einer Zeile, mit den Anführungszeichen). Das wird vermutlich funktionieren, oder meckert da etwa ein Virenscanner?

Nun gib mal den ganzen Befehl ein:

"C:\Program Files (x86)\CodeBlocks/cb_console_runner.exe" "C:\Users\raffi\Documents\C-Projekte\Test 9\bin\Debug\Test 9.exe"

Was geht dabei schief? Fehlt das Programm, ist es beschädigt, oder hast Du nicht die Rechte, es auszuführen?

0
ralphdieter  12.10.2019, 19:54
@Raphi1006

Die ist bei Windows dabei. Aber wie man sie startet, hängt von der Windows-Version ab. Ich kann Dir da kaum helfen, weil ich vor 20 Jahren die Schnauze voll hatte und auf Linux umgestiegen bin.

Probier mal:

  • Win-R (für Run...), dann cmd eingeben
  • oder Start/Programme/Verwaltung/Eingabeaufforderung
  • oder Cortana fragen
0
Raphi1006 
Fragesteller
 12.10.2019, 20:34
@ralphdieter

Achso Sie meinen die Eingabeaufforderung. Die Dateien können nicht gefunden werden

0
ralphdieter  12.10.2019, 21:04
@Raphi1006

"die Dateien"? Fehlen wirklich beide Programme?

Bei Deiner "Test 9.exe" könnte ich mir vorstellen, dass sie von einem Virenscanner in Quarantäne verschoben wurde. Seltsam nur, weil die IDE ja vor dem Starten extra noch geprüft hat, ob "Test 9.exe" existiert.

Wenn die cb_console_runner.exe fehlt, sind C-Konsole-Anwendungen wohl nicht in der Standardinstallation enthalten. Dann musst Du wohl ein extra Paket nachinstallieren. Seltsam nur, dass Du dann überhaupt ein solches Projekt anlegen kannst.

Schau mal nach, ob die Dateien wirklich weg sind:

dir "C:\Program Files (x86)\CodeBlocks/*.exe"
dir "C:\Users\raffi\Documents\C-Projekte\Test 9\bin\Debug"

Vielleicht sind ja beide da, hängen aber von einer fehlenden DLL ab und können deshalb nicht gestartet werden. Hast Du Dir etwa mit einem anderen Programm eine kaputte msvcrtd.dll eingefangen?

(Der Name steht für MicroSoft-Virtual-C-RunTime-Debug , Dynamic-Link-Library.; sie enthält alle C-Funktionen wie printf(), assert(), sqrt() usw.)

DLL-Abhängigkeiten findest Du z.B. mit depends.exe heraus.

1
ralphdieter  12.10.2019, 21:15
@ralphdieter

Nachtrag: Falls Du nach einer msvcrtd.dll suchen willst: Da steckt irgendwo noch eine Versionsnummer drin. Sie heißt also msvctr80d.dll oder so ähnlich.

1
Raphi1006 
Fragesteller
 12.10.2019, 22:40
@ralphdieter

Der Virenscanner war genau die richtige Vermutung. Nachdem ich mein Virenschutzprogramm deinstalliert habe hat alles problemlos funktioniert und es wurde eine .exe-Datei im Projektordner angelegt. Ich denk das genau das das Problem war, das der Virenscanner die .exe-Datei in Quarantäne verschoben hat. Danke vielmals für Ihre Hilfe!

0