Напечатать последнюю из самых коротких строк текстового файла - C (СИ) (69572)
Формулировка задачи:
Подскажите пожалуйста текст программы, которая печатает последнюю из самых коротких строк текстового файла. Текстовый файл рандомный.
Вот, что получилось. Компилятор ругается на строку с открытием файла по заданному адресу. И еще не проработала момент с выводом именно ПОСЛЕДНЕЙ короткой строки. Подскажите, как это сделать
#include <stdio.h> #include <stdlib.h> #include <windows.h> void main( ) { FILE *text; int length=100; char *string; if ((text = fopen("G:\IRIT-RtF\Algoritmisation\ShortStrok","r")) == NULL) { puts ("Error opening file"); exit (-1); } while(!feof(text))// пока не конец файла { fgets(string, 100, text); if(strlen(string)<length) length=strlen(string); } fseek(text, sizeof( char) , SEEK_SET); while(!feof(text)) { fgets(string, 100, text); if(strlen(string)==length) break; } puts(string); system("pause"); fcloseall(); }
Решение задачи: «Напечатать последнюю из самых коротких строк текстового файла»
textual
Листинг программы
if ((text = fopen("G:\\IRIT-RtF\\Algoritmisation\\ShortStrok","r")) == NULL)
Объяснение кода листинга программы
- В этом коде используется функция fopen, которая открывает файл
G:\\IRIT-RtF\\Algoritmisation\\ShortStrok
для чтения (режимr
). - Если файл не может быть открыт (например, файл не существует или нет доступа к нему), то переменная text будет равна NULL.
- В этом случае программа завершится и ничего не будет напечатано.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д