为什么写入文件不起作用?

时间:2018-04-06 08:18:23

标签: c++ binary

我想以二进制格式写一个数字到文件。

#include <iostream>
#include <fstream>
#include <stdint.h>
using namespace std;
int main(){

    uint16_t number = 2;
    ofstream data_to_save("saved_data.bin", ios_base::binary);
    data_to_save.write(reinterpret_cast<char*>(&number),sizeof(number));


    uint16_t numbers_16;
    ifstream data("saved_data.bin", ios_base::binary);
    data.seekg(0);
    data.read(reinterpret_cast<char*>(&numbers_16), sizeof(numbers_16));
    cout << numbers_16 << "\n";

    data_to_save.close();
    data.close();
    return 0;
}

但是当我读取文件时,它总是为零。哪里出错了?

1 个答案:

答案 0 :(得分:1)

你打开&#34; saved_data.bin&#34;读取之前将数据刷新到文件中。