C++ fread() dans une std::string

Comme toujours, des problèmes avec les pointeurs. Cette fois, je suis en train de lire un fichier (ouvert en mode binaire) et de stocker une partie dans un std::string objet.
Voyons voir:

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 );
}

Est-ce possible? Je ne recois pas de message. Je suis sûr que le fichier est O. K. Quand j'ai essayer avec char* il ne fonctionne pas mais je veux le ranger directement dans la chaîne. Merci pour votre aide!

mec... ce que vous obtenez à partir de c_str() n'est pas mutable...
le commentaire ci-dessus et répondez ci-dessous sont tous les deux corrects, mais si vous êtes à l'aide de C++, pourquoi êtes-vous à l'aide de C idiomes pour les e/S de fichier
et pour couronner le tout, C++ streaming pour la sortie à droite après.

OriginalL'auteur ali | 2012-11-28