Как повторно прочитать файл? - C (СИ)
Формулировка задачи:
Нужно вывести на консоль исходный текстовый файл за исключением самой длинной строки.
Сначала читаем построчно,находим самую длинную строку.
Вопрос:-Как файл прочитать повторно?
Я сделал костыль(строки 19,20). Может имеется еще какое-нибудь решение?
P.S.Так-то код рабочий.
#include <stdio.h> #include <string.h> int main() { FILE *fin; fin = fopen("input.txt", "r"); int max = 0, ns = 1, strmax; char s[80]; while(fgets(s, 80, fin)){ if(strlen(s) > max){ max = strlen(s); strmax = ns; } ns++; } printf("max = %d strmax = %d\n", max, strmax); ns = 1; fclose(fin); fin = fopen("input.txt", "r"); while(fgets(s, 80, fin)){ if(ns != strmax) puts(s); ns++; } return 0; }
Решение задачи: «Как повторно прочитать файл?»
textual
Листинг программы
fseek (fin, 0 , SEEK_SET);
Объяснение кода листинга программы
fin
- это дескриптор файла, который был открыт для чтения.0
- это смещение, от которого начинается чтение файла.SEEK_SET
- это константа, которая указывает на начало файла для операции смещения.- Функция
fseek
используется для перемещения указателя чтения в файле на указанное количество байтов.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д