Считать файл в массив - C (СИ)
Формулировка задачи:
Здравствуйте. Подскажите пожалуйста, как считать через сканф с файла массив в языке СИ...очень нужно.
Решение задачи: «Считать файл в массив»
textual
Листинг программы
#include <stdlib.h> #include <stdio.h> #include <conio.h> #define size 20 int main() { char* file_name = (char*)malloc(sizeof(char) * size); printf("Enterh the name of the file\n"); scanf("%s", file_name); FILE* file = fopen(file_name, "w"); if (!file) { printf("File name invalid\n"); return 1; } int* mas = (int*)malloc(sizeof(int) * size); int i = 0, k = 0; while( feof(file) ) fscanf(file, "%d", &mas[i++]); for (k = 0; k < i; k++) printf("%d", mas[k]); _getch(); free(mas); free(file_name); return 0; }
Объяснение кода листинга программы
- Подключение необходимых библиотек для работы с файлами и памятью.
- Определение размера массива в 20 элементов.
- Выделение памяти под строку, в которую будет записываться имя файла.
- Запрос у пользователя имени файла и запись этого имени в выделенную память.
- Открытие файла с указанным именем на запись.
- Проверка на корректность открытия файла, если файл не открылся, выводится сообщение об ошибке и программа завершается.
- Выделение памяти под массив целых чисел на 20 элементов.
- Инициализация двух переменных, i - для отслеживания количества прочитанных элементов, k - для вывода элементов массива.
- Чтение данных из файла в массив до тех пор, пока не будет достигнут конец файла (feof).
- Вывод содержимого массива на экран.
- Ожидание нажатия клавиши для завершения работы программы.
- Освобождение памяти, выделенной под массив и строку.
- Возврат 0, что означает успешное завершение программы.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д