fwrite() funktioniert nicht!

Gast #930845
Lesenswert?

Hallo!


Habe hier ein kleines Programm, dass einfach eine Zahl in einer Datei 
speichern soll. Warum klappt es nicht? Es kompiliert richtig, kommt aber 
dann die Meldung "Fehlerbericht senden", nachdem ich eine Eingabe 
gemacht habe und diese mit ENTER bestätigte.

1
#include <cstdlib>
2
#include <iostream>
3
#include <stdio.h>
4

5
int main (void)
6
{
7
    
8
    FILE *pFile;
9
    char read_data;
10
    char temp;
11
    
12
    pFile = fopen("C:\\messwerte.txt", "w");
13
    printf ("Zahl eingeben! ");
14
    scanf ("%d",&temp);
15
    fwrite(&temp,1,sizeof(temp),pFile);
16
    fclose(pFile);
17
    
18
    
19
    
20
}

Danke
Gast #930855
Lesenswert?

Compiler?
Zielplattform?
Bekommst du einen Filepointer (pFile != NULL)?
Semmelt das Programm bei fwrite ab, oder bei scanf()?

Auffällig ist vorerst, dass temp ein char ist,
scanf() aber ein int erwartet für %d.

Für die meisten Zielplattformen, die ich kenne ist int != char.
Gast #930862
Lesenswert?

@Peter
Ja, das war schon auch mein Verdacht.
>...die Meldung "Fehlerbericht senden"...
schränkt sogar noch das OS weiter ein (schon mal kein DOS).

Aber es gibt eben nicht nur PCs und Atmels.

Und von sollte, hätte, wäre, würde, möchte, dürfte...
sind schon etliche Falschanalysen ausgegangen ;-)

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren