WCM - Das österreichische Computer Magazin Forenübersicht
 

Zurück   WCM Forum > Rat & Tat > Programmierung

Programmierung Rat & Tat für Programmierer

Microsoft KARRIERECAMPUS

Antwort
 
Themen-Optionen Ansicht
Alt 03.09.2004, 16:11   #1
harry3
Inventar
 
Registriert seit: 11.06.2001
Alter: 38
Beiträge: 2.397


harry3 eine Nachricht über ICQ schicken
Standard C: Fehler bei fprintf(stdout, "...")

Hallo!

Warum bekomm ich den Compiler zum Crashen mit folgendem Code:

PHP-Code:
//include dateien
int main()
{
clrscr();
printf("Hallo von printf...\n");
fprintf(stdout"Hallo von fprintf");
getch();

return(
0);

Kompilierung passt, Programm wird ausgeführt, macht das, was es machen soll, aber wenn ich dann zurück in die IDE komme steht nur noch Müll da und beim nächsten Tastendruck crashed das Programm.


Viele Grüße,
Harri
harry3 ist offline   Mit Zitat antworten
Alt 03.09.2004, 20:33   #2
K@sperl
bitte Mailadresse prüfen!
 
Registriert seit: 03.04.2001
Beiträge: 2.387


Standard

Welche IDE?
K@sperl ist offline   Mit Zitat antworten
Alt 03.09.2004, 20:56   #3
JackLemon
Senior Member
 
Registriert seit: 02.11.2002
Beiträge: 179


Standard

ist sicher irgendwas mit der string-memory allocation. bei c geht's immer um memory allocation...
____________________________________
It\'s not a bug... It\'s a feature!

You know, the main advantage of encrypted paella over ordinary paella is that nobody but you knows what you are eating... (Alvaro)
JackLemon ist offline   Mit Zitat antworten
Alt 03.09.2004, 21:11   #4
käptn
Inventar
 
Registriert seit: 04.11.2001
Alter: 45
Beiträge: 2.150


Standard Re: C: Fehler bei fprintf(stdout, "...")

Zitat:
Original geschrieben von harry3
Warum bekomm ich den Compiler zum Crashen
...

Kompilierung passt, ...
Widerspruch?

~
____________________________________
LOL - Mein erstes Post im Programmier Forum

MACINTOSH - Most Applications Crash, If Not The Operating System Hangs
käptn ist offline   Mit Zitat antworten
Alt 03.09.2004, 21:23   #5
harry3
Inventar
 
Registriert seit: 11.06.2001
Alter: 38
Beiträge: 2.397


harry3 eine Nachricht über ICQ schicken
Daumen hoch Danke für die Antworten!

IDE: Turbo C++.

Zitat:
Original geschrieben von käptn
Widerspruch?

~
Sorry! Hab mich vielleicht etwas falsch ausgedrückt: Die Kompilierung selber haut hin, danach läuft das Programm auch, doch nach Beenden des Programms kommts zum Absturz vom gesamten Turbo C++.


Allerdings scheint es eine Eintagsfliege gewesen zu sein, seit dem Absturz ists nicht mehr vorgekommen. Aber komisch ists trotzdem!

Zitat:
ist sicher irgendwas mit der string-memory allocation. bei c geht's immer um memory allocation...
Ich kann bei bei stdout keine memory allocaten(wie heißt den "allocate" auf good old deitsch)???
Es handelt sich doch nicht um ein FILE.(meines Wissens)



Grüße,
Harri
harry3 ist offline   Mit Zitat antworten
Alt 03.09.2004, 21:36   #6
K@sperl
bitte Mailadresse prüfen!
 
Registriert seit: 03.04.2001
Beiträge: 2.387


Standard Re: Danke für die Antworten!

Zitat:
Original geschrieben von harry3
Ich kann bei bei stdout keine memory allocaten(wie heißt den "allocate" auf good old deitsch)???
allokieren oder reservieren.
Stimmt, das geht bei einem File definitiv nicht (also mit der malloc Funktion).
K@sperl ist offline   Mit Zitat antworten
Alt 03.09.2004, 21:41   #7
harry3
Inventar
 
Registriert seit: 11.06.2001
Alter: 38
Beiträge: 2.397


harry3 eine Nachricht über ICQ schicken
Standard

Naja, wahrscheinlich wars halt wirklich nur mal wieder so ein Moment, wo keiner so wirklich weiß, was sich der Compi dabei gedacht hat.


Nur mich hats halt doch etwas schockiert, bei einem soooo primitiven Beispiel einen so argen Fehler zu bekommen. Wenn Pointer usw. im Spiel sind bekommt man manchmal halt komische Fehler(liegt dann aber IMMER am Benutzer). Aber bei printf...


Grüße,
Harri
harry3 ist offline   Mit Zitat antworten
Alt 05.09.2004, 00:25   #8
JackLemon
Senior Member
 
Registriert seit: 02.11.2002
Beiträge: 179


Standard

oder allozieren, geht beides. hätte geschworen es hat was damit zu tun...
____________________________________
It\'s not a bug... It\'s a feature!

You know, the main advantage of encrypted paella over ordinary paella is that nobody but you knows what you are eating... (Alvaro)
JackLemon ist offline   Mit Zitat antworten
Alt 05.09.2004, 10:09   #9
Flink
Hero
 
Registriert seit: 29.08.2001
Alter: 57
Beiträge: 904


Flink eine Nachricht über ICQ schicken Flink eine Nachricht über Skype™ schicken
Standard

Bei printf muss man darauf achten, dass jedem %-Formatierungszeichen ein genau passender Parameter anschließend folgt. Ansonsten kann es zu genau dem beschriebenen Fehler kommen.
Doch in diesem Beispiel kommt dies ja nicht vor. Der Compiler dürfte bei dem 'stdout'-Stream einen Fehler gemacht haben.
____________________________________
Bibel
Flink ist offline   Mit Zitat antworten
Alt 06.09.2004, 11:17   #10
_m3
Inventar
 
Registriert seit: 24.09.2001
Beiträge: 7.335


Standard

1) Da fehlen ein paar Includes wie stdio.h und stdlib.h
2) Du moechtest die Rueckgabewerte von fprintf() und getch() abfragen und ueberpruefen
3) Solltest Du den Warning-Level Deines Compilers hinaufdrehen, dann gibts sicher mehr Infos.
____________________________________
Weiterhin zu finden auf http://martin.leyrer.priv.at , http://twitter.com/leyrer , http://www.debattierclub.net/ , http://www.tratschen.at/ und via Instant Messaging auf Jabber: m3 <ät> cargal.org .
_m3 ist offline   Mit Zitat antworten
Antwort


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.

Gehe zu


Alle Zeitangaben in WEZ +2. Es ist jetzt 19:54 Uhr.


Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Forum SEO by Zoints
© 2009 FSL Verlag