相关疑难解决方法(0)

使用/不使用ios :: binary模式打开流时使用读/写的区别

在我使用以下代码片段的实验中,我没有找到任何特别的区别,无论我是否使用ios创建流:二进制模式:

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();
    }
}
Run Code Online (Sandbox Code Playgroud)

在这里,我试图将原始源文件复制到另一个具有不同名称的文件中.

我的问题是当使用/不使用ios :: binary模式打开fstream对象时,读/写调用(与二进制文件IO相关)之间的区别是什么?使用二进制模式有什么好处吗?什么时候何时何时不使用它来做文件IO?

c++ io binaryfiles filestream

4
推荐指数
1
解决办法
1723
查看次数

标签 统计

binaryfiles ×1

c++ ×1

filestream ×1

io ×1