Hex!



  • Hallo! Bracuhe eure Hilfe!

    FILE *in, *out, *inr;
    
    in = fopen("C:\\test.wma", "rb");
    out = fopen("C:\\test1.wma", "wb");
    inr = fopen("C:\\test2.wma", "wb");
    
    while (!feof(in)) fprintf(out, "%02x ", fgetc(in));
    
    while (!feof(in)) fscanf(inr, "%02x ", fgetc(out));
    
    fclose(in);
    fclose(out);
    

    ich habe in C:\test.wma eine ganz normale wma audio datei, diese wird in hex zerletg und neu gespeichert!
    Das sieht dann ungefähr so aus (nur ein Ausschnitt):

    00 52 00 4d 00 2b 06 00 00 01 00 00 00 33 26 b2 75 8e 66 cf 11 a6 d9 00 aa 00 62 ce 6c 48 01 00 00 00 00 00 00 b8 00 36 00 38 00 00 00 00 00 53 00 74 00 61 00 6e
    

    Dann will ich, wie oben im code sichtbar diese datei wieder in eine apspielbare wma verwandeln also sprich zurück convertieren!

    Habe gehört, dass das mit scanf gehen soll, aber wie oben funst das nicht so ganz naja eigendlich garnicht erstellt lediglich eine datei mit 0 Byte

    Könnt ihr mir sagen wie das geht oder verraten, was ich oben falsch gemacht habe!???

    MFG Peter J.



  • lol du bist lustig.

    Ohne fread und fwrite wirst du wohl kein erfolg haben.
    1. Dateien öffnen
    2. Datei lesen und in einen Puffer speichern
    3. Noch einen Buffer erzeugen
    4. Daten vom einen Puffer in den anderen schieben (dabei umwandeln)
    5. Datei schreiben
    6. Datei schließen

    Mehr gibts von mir nicht...



  • Du mußt die Datei mit der Hex-Folge auch richtig öffnen (erstens als "rb" und zweitens nachdem du die Ausgabedatei geschlossen hast). Und außerdem mußt du die Daten anschließend per fputc() weitergeben.


Log in to reply