我想以二进制格式写一个数字到文件。
#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;
}
但是当我读取文件时,它总是为零。哪里出错了?
答案 0 :(得分:1)
你打开&#34; saved_data.bin&#34;读取之前将数据刷新到文件中。