C ++的高级文件I / O练习无法正常工作

时间:2017-05-08 02:19:36

标签: c++ c++11

我明天有一个C ++决赛,我的教授说要确保我们能够正确地做这个练习:

  1. 打开一个名为.txt的文件,作为ios :: out | IOS ::二进制
  2. 将包含值1的int写入文件。
  3. 关闭文件
  4. 打开ios :: out |的文件ios :: in | IOS ::二进制
  5. 阅读int
  6. 寻找文件的第一个字节
  7. 将1添加到int
  8. 将int写回文件。
  9. 关闭文件。
  10. 这里是我的代码:

    #include <iostream>
    #include <fstream>
    
    using namespace std;
    
    int main()
    {
        fstream file("118394.txt", ios::out | ios::binary);
        int x = 1;
        int y;
    
        file.write(reinterpret_cast<char *>(x), sizeof(x));
    
        file.close();
    
        file.open("118394.txt", ios::in | ios::out | ios::binary);
    
        file.read(reinterpret_cast<char *>(y), sizeof(y));
    
        file.seekp(0L, ios::beg);
    
        x++;
    
        file.write(reinterpret_cast<char *>(x), sizeof(x));
    
        file.close();
    
    
    }
    

    它将编译并运行,但是当它发生时,我得到一个错误的访问错误&#34;。

    Here's a screenshot.

    关于我做错的任何想法?我正在使用Xcode。

0 个答案:

没有答案