这是一道 C++ 题。我有一个包含字符串的类:
class MyClass{
public:
std::string s;
};
我有一个 MyClass 对象数组:
MyClass * array = MyClass[3];
现在我想将数组作为二进制文件写入文件。我不能使用:
Ofstream.write((char *)array, 3 * sizeof(MyClass))
因为 MyClass 的大小不同。
如何使用Ofstream.write来达到目的呢?非常感谢。
最佳答案
过载 operator<<
为你的类(class)。你可以这样做:
ostream& operator<< (ostream& os, const MyClass& mc)
{
return os << mc.s /* << ... other members*/ << endl;
}
关于c++ - 如何将字符串作为二进制文件写入文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1378197/