Напечатать все строки файла, которые содержат более 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; }
Объяснение кода листинга программы
- Подключение необходимых библиотек:
errno.h
- для работы с ошибками;stdio.h
- для ввода/вывода данных;string.h
- для работы со строками.
- Объявление функции
main()
, которая является точкой входа в программу. - Открытие файла
file
в режиме чтения с помощью функцииfopen()
. Если файл не может быть открыт, выводится сообщение об ошибке и возвращается код ошибки. - Создание буфера для чтения данных из файла. В данном случае размер буфера составляет 512 символов.
- В цикле
while(!feof(f))
происходит чтение данных из файла в буфер с помощью функцииfgets()
. Размер считываемых данных не должен превышать размер буфера. - Проверка длины строки в буфере с помощью функции
strlen()
. Если длина строки больше 10 символов, строка выводится на экран с помощью функцииprintf()
. - Закрытие файла с помощью функции
fclose()
после окончания чтения. - Возврат 0 в качестве кода успешного завершения программы.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д