C++字符串到/从文件

use*_*274 1 c++ string file

简单的问题:为什么以下代码不起作用?我希望保存和读取一个字符串,但这不会发生......

#include <iostream>
#include <fstream>
using namespace std;

static string path = "/Users/john/Desktop/file";


main() {
string a;

a = "one\n";

fstream outStream(path.c_str(), ios::out | ios::binary);
outStream.write((char *) &a, sizeof(a));
outStream.close();

a = "two\n";

fstream inStream(path.c_str(), ios::in | ios::binary);
inStream.read((char *) &a, sizeof(a));
inStream.close();

cout << a;
return 0;}
Run Code Online (Sandbox Code Playgroud)

非常感谢!

Som*_*ude 6

你不能写一个字符串作为指针.使用普通流运算符(<<)或使用

outStream.write(a.c_str(), a.size());
Run Code Online (Sandbox Code Playgroud)