Дан текстовый файл. Вывести первое слово текста наибольшей длины - C (СИ)
Формулировка задачи:
Дан текстовый файл. Вывести первое слово текста наибольшей длины. Словом считать набор символов, не содержащий пробелов и ограниченный пробелами или началом/концом строки.
Помогите пожалуйста
Решение задачи: «Дан текстовый файл. Вывести первое слово текста наибольшей длины»
textual
Листинг программы
#include <stdio.h> #include <string.h> #define FILE_NAME "file.txt" int main(void) { char current[BUFSIZ], longest[BUFSIZ]; size_t maxlen, lastlen; FILE * f; if ( ! ( f = fopen(FILE_NAME, "r") ) ) { fprintf(stderr, "Can't open %s\n", FILE_NAME); return 1; } maxlen = 0; while ( fscanf(f, "%s", current) == 1 ) { if ( ( lastlen = strlen(current) ) > maxlen ) { strcpy(longest, current); maxlen = lastlen; } } fclose(f); printf("First longest word: %s\n", longest); return 0; }
Объяснение кода листинга программы
- Подключение необходимых библиотек для работы с файлами и строками
- Определение имени файла, с которым будет работать программа
- Объявление переменных: текущей строки, строки с наибольшей длиной, переменных для хранения размеров этих строк и файла
- Проверка открытия файла с помощью функции fopen и вывод сообщения об ошибке в случае неудачи
- Установка начального значения максимальной длины строки равным 0
- Чтение файла посимвольно с помощью цикла while и функции fscanf, с сохранением каждого слова в текущую строку
- В каждой итерации цикла проверка длины текущей строки с помощью функции strlen и сравнение её с текущей максимальной длиной
- Если текущая длина строки больше максимальной, то обновление значения максимальной длины и копирование текущей строки в строку с наибольшей длиной
- Закрытие файла с помощью функции fclose
- Вывод на экран первого слова с наибольшей длиной с помощью функции printf
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д