binar-datei schreiben & lesen



  • Folgendes Problem:
    ich will eine Binärdatei auslesen, in eine Textdatei schreiben und die Textdatei wieder in eine Binärdatei wandeln. Ich habe einen Algorithmus der
    4 Binärzeichen in 5 ASCII-Zeichen wandelt, und zurück.

    ifstream is;
    ofstream os;
    char ascii_array[5];
    unsigned char bin_array[4];
    

    wenn ich aus der Binärdatei lese, soll kann ich is.read(bin_array, 4) ja nicht nehmen, da ja char* erwartet wird und nicht unsigned char*. Wandel ich nach char*

    is.read(reinterpret_cast<char*>(bin_array), 4);
    

    geht mir doch was verloren, oder ?

    for (i=0; i<4; i++)
        is >> bin_array[i];
    

    und so gehts auch nicht richtig.Beim schreiben in die Binärdatei das gleiche Problem :

    os.write(reinterpret_cast<char*>(bin_array), 4);   // so ??
       for (int i=0; i<3; i++)                        // 
          os << bin_array[i];                         // oder so ????
    

    Wie is der richtige Weg ?



  • verloren geht garnix. es wird nur das hoechste bit anders interpretiert. die interne bitdarstellung bleibt die gleiche.

    Meep Meep


Anmelden zum Antworten