我認爲你在考慮.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