Считывание данных с файла в динамический массив - C (СИ)
Формулировка задачи:
Надо написать программу для считывания двумерного массива из файла, при этом память под массив должна выделяться динамически.
Решение задачи: «Считывание данных с файла в динамический массив»
textual
Листинг программы
...
FILE *file=fopen("MyFile","r");
fseek(file,0,SEEK_END);
long size=ftell(file); // определили размер файла
fseek(file,-size,SEEK_END);
float *array=(float*)malloc(size*sizeof(float)); // выделяем память
...
Объяснение кода листинга программы
- Открываем файл
MyFileдля чтения с помощью функции fopen. - Используя функцию fseek, перемещаем указатель чтения в конец файла.
- С помощью функции ftell определяем размер файла в байтах.
- Используя функцию fseek, перемещаем указатель чтения в начало файла (перед первым байтом).
- С помощью функции malloc выделяем память для массива float, размер которого равен размеру файла, умноженному на sizeof(float).