запись целого числа в двоичный файл (C++)

У меня очень простой вопрос, который, оказывается, трудно для меня, так как это первый раз, когда я пытался работать с двоичными файлами, и я не совсем понимаю их. Все, что я хочу сделать, это записать целое число в двоичный файл.

вот как я сделал это:

#include <fstream>
using namespace std;
int main () {
    int num=162;
    ofstream file ("file.bin", ios::binary);
    file.write ((char *)&num, sizeof(num));
    file.close (); 
    return 0;
}

часть, которая дает мне проблемы, - это строка с файлом.пиши, я не понимаю.

спасибо продвижение.

1 ответов


часть, которая дает мне проблемы, соответствует файлу.пишите, я не понять это.

если Вы читаете документацию ofstream.write() метод, вы увидите, что он просит два аргумента:

  1. a указатель на блок данных С содержанием, которое будет написано;

  2. целое значение, представляющее размер в байтах блока.

этот заявление просто дает эти две части информации ofstream.write():

file.write(reinterpret_cast<const char *>(&num), sizeof(num));

&num - Это адрес блока данных (в данном случае просто переменная типа integer), sizeof(num) - размер этого блока (например, 4 байта на платформах Windows).