将二进制数据(std :: string)写入std :: ofstream?

时间:2011-03-18 16:44:36

标签: c++ binary iostream

我有一个包含二进制数据的std::string对象,我需要将其写入文件。 ofstream f("name"); f << s;可以以任何方式出现问题吗?我需要完全按照原来的方式读取数据。

我当然可以使用fwrite(s.c_str(), s.size(), 1, filep),这两种方法都有任何优点/缺点吗?

1 个答案:

答案 0 :(得分:6)

只要打开forstream进行二进制访问,就应该没问题。

ofstream f("name", ios::binary | ios::out); 
f << s;

在重新读取数据时,不要忘记以二进制模式打开文件。