string aus binary?



  • Hallo Leute, ich brauche mal eure Hilfe. Will nen std::string aus ner binarie lesen. Habe mir die Datei geöffnet und lese ihn aus. Finde den Weg nur schlecht. Geht das nicht einfacher?

    unsigned short len = 7;
    char* pStr = new char[len + 1];
    pStr[len] = 0; // abschließende 0
    input.read(pStr, len);
    string str(pStr);
    delete[] pStr;
    

    Das ist irgendwie ein Kampf. Geht das nicht einfacher??????? Help

    Euer Robert 🙂



  • Hallo,

    geht einfacher, nimm einfach C++ string, das ist sowieso artgerechter., hm hm.

    MfG MAV



  • Mit einem std::vector statt dem new[]/delete[] wäre es immerhin Exception-sicher und eine Zeile kürzer:

    unsigned short len = 7;
    vector<char> buffer(len);
    input.read(&buffer[0], len);
    string str(buffer.begin(), buffer.end());
    

    Wozu deine manuelle Nullterminierung gut sein soll, weiß ich nicht. Was ist input denn? Ein istream oder was eigenes?


Anmelden zum Antworten