escribir y leer cadena a archivo binario C ++

Tengo problemas para escribir una cadena en un archivo binario. Este es mi código:

ofstream outfile("myfile.txt", ofstream::binary);
std::string text = "Text";
outfile.write((char*) &text, sizeof (string));
outfile.close();

Entonces, trato de leerlo,

char* buffer = (char*) malloc(sizeof(string));
ifstream infile("myfile.txt", ifstream::binary);    
infile.read(buffer, sizeof (prueba));
std::string* elem = (string*) buffer;
cout << *elem;
infile.close();

Simplemente no puedo hacerlo funcionar. Lo siento, estoy desesperado. ¡Gracias!

Respuestas a la pregunta(7)

Su respuesta a la pregunta