Forum: PC-Programmierung [C] fputc 0x0A


von Elias B. (bouni)


Lesenswert?

Hallo

ich bastel gerade ein kleines C Programm das mir einen Binär Datei 
verändern soll.
1
#include <stdio.h>
2
3
void write_date() {
4
    FILE *file;
5
   
6
    file = fopen("file.bin","r+");
7
    
8
    if(!file) {
9
        fprintf(stderr, "file kann nicht geoeffnet werden!");
10
    return;
11
    }
12
    
13
    // Skip 18 bytes
14
    fseek(file, 18 , SEEK_SET);
15
16
    fputc(0x0A, file);
17
18
    fclose(file);
19
}

Wenn ich den Wert 0x0A schreibe wir mir im File 0D0A geschrieben.
Ich bin jetzt drauf gekommen das 0x0A ja für LF steht, und 0x0D0A für 
CRLF.
Ich verwende MinGW auf einem W7 PC.

Ist es normal das das 0x0A automatisch ersetzt wird?
Ich will gern das "rohe" 0x0A schreiben. Benutz ich am Ende nur die 
falsche Funktion?

Gruss Bouni

von Diplomtroll (Gast)


Lesenswert?

>    file = fopen("file.bin","r+");
Versuch es mal mit rb+

von Elias B. (bouni)


Lesenswert?

Hi,

Genau die Antwort hab ich jetzt nach Stunden des googlns auch gefunden 
m)
Trotzdem Danke für die schnelle Antwort!

Gruss Bouni

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.