Напечатать все строки текстового файла, длина которых меньше заданного числа - C (СИ)

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

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

2.Дан текстовый файл. Напечатать все строки, длина которых меньше заданного числа. Помогите, пожалуйста

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

textual
Листинг программы
#include  <stdio.h>
#include <string.h>
#define N 255
 
int main(void)
{
    FILE *in;
    char buf[N], *name="C:\\in.txt";
    int c;
    printf("Chislo: ");
    scanf("%d", &c);
    if((in=fopen(name, "r"))==NULL)return 1;
    while(fgets(buf, N, in)!=NULL)
    {
        if(strlen(buf)<c)printf("%s\n", buf);
    }
    fclose(in);
    return 0;
}

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

  1. Подключение необходимых библиотек для работы с файлами и строками
  2. Объявление константы N, которая определяет максимальное количество символов в строке buf
  3. Объявление переменных:
    • in — указатель на файл, который будет использоваться для чтения содержимого файла
    • buf — массив символов, в который будет записываться строка из файла
    • name — строка, содержащая путь к файлу, который необходимо открыть
    • c — переменная для хранения числа, введенного пользователем, в байтах
  4. Вывод сообщения с просьбой ввести число
  5. Считывание числа с помощью функции scanf
  6. Проверка открытия файла с помощью функции fopen
  7. Если файл не удалось открыть, то программа возвращает 1
  8. Чтение файла по строкам с помощью цикла while и функции fgets
    • Если длина строки меньше числа c, то эта строка выводится на экран
  9. Закрытие файла с помощью функции fclose
  10. Возвращение 0, что означает успешное выполнение программы

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

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