Как считать из файла сразу 1 массив и вывести его через fread? - C (СИ)
Формулировка задачи:
Помогите пожалуйста, как с помощью fwite записать в файл массив 1 разом?
я этим уже разобрался, но встала новая проблема, как считать из файла сразу 1 массив и вывести его через fread?
вот то что я сделал, но оно работает некорректно
#include <stdio.h> #include <stdlib.h> #include <time.h> #include <conio.h> int main() { int bal[5]; int i; FILE *file = fopen("3.txt","r"); if (file == NULL) printf ("Ошибка при открытии файла"); else { fread(&bal, sizeof(bal),1, file); printf ("%d ", bal); } fclose(file); getch(); return 0; }
Решение задачи: «Как считать из файла сразу 1 массив и вывести его через fread?»
textual
Листинг программы
#define ITEM_COUNT (5) int main(int argc,char** argv) { int bal[ITEM_COUNT]; FILE* pFile = fopen("3.bin","rb"); if (!pFile) { printf ("Ошибка при открытии файла"); return 0; } fread(bal,sizeof(int),ITEM_COUNT,pFile); printf ("%d\n",bal[0]); fclose(pFile); getch(); return 0; }
Объяснение кода листинга программы
- Объявлен массив баланса
bal
размером 5. - Открыт файл
3.bin
для чтения (rb
). - Проверена корректность открытия файла.
- Произведено чтение файла с помощью функции
fread
, где указано: —bal
- куда считывать данные. —sizeof(int)
- сколько байт считывать (размер одного элемента массива). —ITEM_COUNT
- сколько элементов считывать (размер массива). —pFile
- файл, из которого считывать данные. - Выведено значение первого элемента массива
bal[0]
. - Закрыт файл
pFile
. - Программа ожидает нажатия клавиши для завершения работы.
- Возвращено значение 0, что означает успешное завершение работы программы.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д