запись целого числа в двоичный файл (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()
метод, вы увидите, что он просит два аргумента:
a указатель на блок данных С содержанием, которое будет написано;
целое значение, представляющее размер в байтах блока.
этот заявление просто дает эти две части информации ofstream.write()
:
file.write(reinterpret_cast<const char *>(&num), sizeof(num));
&num
- Это адрес блока данных (в данном случае просто переменная типа integer), sizeof(num)
- размер этого блока (например, 4 байта на платформах Windows).