我认为你在考虑.dat
是一个二进制文件。好的,它将总是取决于你想在该文件中写入的内容。我可以提供关于编写二进制文件的一般示例。
ofstream write_file;
write_file = ofstream(this->location, ios::out | ios::binary);
for(size_t i = 0; i != file_size ++i)
{
// use write_file.write() to add bytes into your binary file.
// e.g the line below will write empty chars to your binary file
write_file.write("", 1);
}
write_file.close();
查看这里的工作代码IDEONE。
正如有人评论,你必须包括<fstream>
能够使用文件流。我认为你的错误来自你文件中的错误。另外,如上所述,.dat
文件应该是二进制文件。的open()
原型为:
void open (const string& filename, ios_base::openmode mode = ios_base::out);
// with const &string as parameter since C++11
所以,你可以看到,openmode
设置为ios_base::out
,你应该有ios_base::binary | ios_base::out
我编译罚款。只要你包含'',就应该定义'std :: ofstream'。你使用什么编译器? –
Brian
如果您发布有关任何错误消息的问题,请在问题中包含* complete *和*未经编辑的*错误消息,并告诉我们它来自何处(编译器?链接器?运行时程序?)您提供的消息需要更多的上下文。 –
查看这里的例子:http://www.cplusplus.com/reference/fstream/ofstream/ofstream/ – yasouser