简单的问题:为什么以下代码不起作用?我希望保存和读取一个字符串,但这不会发生......
#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)
非常感谢!
你不能写一个字符串作为指针.使用普通流运算符(<<)或使用
outStream.write(a.c_str(), a.size());
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
181 次 |
| 最近记录: |