Какое условие нужно поставить в цикле чтения из бинарного файла? - C (СИ)
Формулировка задачи:
Наверное, сильно туплю.
Я хочу вывести содержимое бинарного файла по одной записи.
вот мой цикл:
while (fread(¤t_company, size_of_company, 1, inp1)!=feof(inp1)) { printf("%-20s %10d %20.3f\n",current_company.name, current_company.year, current_company.capital); i++; fseek(inp, i*size_of_company,SEEK_SET); }
Решение задачи: «Какое условие нужно поставить в цикле чтения из бинарного файла?»
textual
Листинг программы
while (fread(¤t_company, size_of_company, 1, inp1)) { printf("%-20s %10d %20.3f\n",current_company.name, current_company.year, current_company.capital); i++; }
Объяснение кода листинга программы
- В данном коде используется язык программирования C.
- Задача заключается в чтении данных из бинарного файла и их выводе на экран.
- Переменная
current_company
является структурой, которая содержит поляname
,year
иcapital
. - Условие в цикле while проверяет, успешно ли было выполнено чтение из файла
inp1
в переменнуюcurrent_company
. - Если чтение было успешным, то выполняется блок кода внутри цикла.
- Внутри цикла происходит вывод на экран значений полей структуры
current_company
с помощью функции printf. - Переменная
i
используется для подсчета количества прочитанных компаний. - Значения полей структуры
current_company
выводятся с использованием формата%-20s %10d %20.3f\n
, где%-20s
- выравнивание строки по левому краю,%10d
- выравнивание числа по правому краю,%20.3f
- вывод числа с плавающей точкой с точностью до трех знаков после запятой. - Чтение из файла и вывод на экран выполняются до тех пор, пока не будет выполнено условие окончания цикла.
- В конце цикла значение переменной
i
увеличивается на единицу.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д