Как повторно прочитать файл? - 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);

Объяснение кода листинга программы

  1. fin - это дескриптор файла, который был открыт для чтения.
  2. 0 - это смещение, от которого начинается чтение файла.
  3. SEEK_SET - это константа, которая указывает на начало файла для операции смещения.
  4. Функция fseek используется для перемещения указателя чтения в файле на указанное количество байтов.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

13   голосов , оценка 4.231 из 5
Похожие ответы