Напечатать все строки файла, которые содержат более 10 символов - C (СИ)

Узнай цену своей работы

Формулировка задачи:

Дано текстовый файл.напечатать все его строки, содержат более 10 символов...

Решение задачи: «Напечатать все строки файла, которые содержат более 10 символов»

textual
Листинг программы
#include <errno.h>
#include <stdio.h>
#include <string.h>
 
int main(void) {
    FILE* f = fopen("file", "r");
    if(f == NULL){
        fprintf(stderr, "Can't open file. Error code: %d\n", errno);
        return 1;
    }
    char buf[512];
    while(!feof(f)){
        fgets(buf, 512, f);
        if(strlen(buf) > 10)
            printf(buf);
    }
    fclose(f);
    return 0;
}

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

  1. Подключение необходимых библиотек:
    • errno.h - для работы с ошибками;
    • stdio.h - для ввода/вывода данных;
    • string.h - для работы со строками.
  2. Объявление функции main(), которая является точкой входа в программу.
  3. Открытие файла file в режиме чтения с помощью функции fopen(). Если файл не может быть открыт, выводится сообщение об ошибке и возвращается код ошибки.
  4. Создание буфера для чтения данных из файла. В данном случае размер буфера составляет 512 символов.
  5. В цикле while(!feof(f)) происходит чтение данных из файла в буфер с помощью функции fgets(). Размер считываемых данных не должен превышать размер буфера.
  6. Проверка длины строки в буфере с помощью функции strlen(). Если длина строки больше 10 символов, строка выводится на экран с помощью функции printf().
  7. Закрытие файла с помощью функции fclose() после окончания чтения.
  8. Возврат 0 в качестве кода успешного завершения программы.

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


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

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

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