在我对以下代码片段进行的实验中,我没有发现使用/不使用ios:binary模式创建流有任何特别的区别:
int main()
{
ifstream ostr("Main.cpp", ios::in | ios::binary | ios::ate);
if (ostr.is_open())
{
int size = ostr.tellg();
char * memBlock = new char[size + 1];
ostr.seekg(0, ios::beg);
ostr.read(memBlock, size);
memBlock[size] = '\0';
ofstream file("trip.cpp", ios::out | ios::binary);
file.write(memBlock, size);
ostr.close();
}
}
我在尝试将原始源文件复制到另一个具有不同名称的文件中。
我的问题是当使用二进制文件IO关联的读/写调用时,当fstream对象以/不以ios::binary模式打开时有什么区别? 使用二进制模式是否有任何优势?在进行文件IO时何时使用它,何时不使用?