Как считать массив чисел с бинарного файла с помощью метода read()?
void read(int* arr) {
ifstream file_if;
file_if.open("arr.txt", ios::binary);
if (!file_if.is_open())
cout << "error opening file for reading" << endl;
else
file_if.read((char*)&arr, size);
file_if.close();
}
size - замер массива;
file_if.read((char*)&arr, size); - чтение из файла сразу в целый массив, до этого была запись в файл "file_of.write((char*)&arr, size);"
Ответы (1 шт):
Автор решения: Dmitry Shevchenko
→ Ссылка
file_if.read((char*)arr, size * sizeof(int)); - чтение целого массива;
file_if.read((char*)&arr, sizeof(int)); - чтение одной переменной, той на которой стоит указатель seekg()(по умолчанию в начале файла);
for (int index = 0; index < size; ++index) {file_if.read((char*)arr[index], sizeof(int));}- чтение одного элемента в ваш массив под номером index;
Работает это так: считываем элемент с файла и сохраняем его в массив под номером index, после чего указатель перемещается на sizeof(int);