【发布时间】:2012-10-07 06:27:11
【问题描述】:
在我对以下代码 sn-p 的实验中,我没有发现我是否使用 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();
}
}
这里我试图将原始源文件复制到另一个名称不同的文件中。
我的问题是,当使用/不使用 ios::binary 模式打开 fstream 对象时,读/写调用(与二进制文件 IO 相关联)有什么区别? 使用二进制模式有什么好处吗?文件 IO 什么时候用,什么时候不用?
【问题讨论】:
标签: c++ io filestream binaryfiles