C++ fread() in einen std::string

Wie immer, Probleme mit Zeigern. Dieses mal bin ich versucht, eine Datei Lesen (im Binärmodus geöffnet) und speichern einen Teil davon in einen std::string-Objekt.
Mal sehen:

FILE* myfile = fopen("myfile.bin", "rb");
if (myfile != NULL) {
    short stringlength = 6;
    string mystring;
    fseek(myfile , 0, SEEK_SET);
    fread((char*)mystring.c_str(), sizeof(char), (size_t)stringlength, myfile);
    cout << mystring;
    fclose(myfile );
}

Ist das möglich? Ich bekomme keine Nachricht. Ich bin sicher, die Datei ist O. K., Wenn ich versuche mit char* funktioniert es aber ich möchte, um es zu speichern direkt in den string. Vielen Dank für Ihre Hilfe!

dude... was Sie von c_str() ist nicht veränderbar...
der Kommentar oben und beantworten Sie unten sind beide richtig, aber wenn Sie mit C++, warum bist du mit C Idiome für Datei-I/O
und um das ganze abzurunden, C++ - streaming für die Ausgabe nach rechts.

InformationsquelleAutor ali | 2012-11-28

Schreibe einen Kommentar