Из записанных в файл 5 строк, нужно считать и вывести на экран третью - C (СИ)
Формулировка задачи:
Проблема в том, что из записанных в файл 5 строк, нужно считать и вывести на экран третью.
Спасибо.
#include <stdio.h> #include <stdlib.h> #include <locale.h> int main() { setlocale(LC_ALL, "Rus"); int i; FILE *fp; if ((fp=fopen("FILE1.TXT","w"))==NULL) printf("Файл не открыт\n"); else { printf("Файл открыт\n"); for (i=0;i<5;i++) fprintf(fp, "Строка %d\n", i); fclose(fp); } return 0; }
Решение задачи: «Из записанных в файл 5 строк, нужно считать и вывести на экран третью»
textual
Листинг программы
#include <stdio.h> #include <stdlib.h> #include <string.h> #include <locale.h> #define D "\n\r" int main(void) { setlocale(LC_ALL,"Ru"); char *a,*c; long int l=0; int i=0; FILE *fp; if ((fp=fopen("C:/out.txt","rb"))==NULL) printf("Файл не открыт\n"); else { fseek(fp,0,SEEK_END); l=ftell(fp); fseek(fp,0,SEEK_SET); a=(char*)malloc(sizeof(char)*l); fread(a,sizeof(char),l,fp); for(c=strtok(a,D);c!=NULL;c=strtok(NULL,D)) { i++; if(i==3) { printf("%s\n",c); break; } } fclose(fp); free(a); } return(0); }
Объяснение кода листинга программы
- Подключение необходимых библиотек для работы с файлами и строками
- Определение символа новой строки
- Установка русской локали для вывода
- Объявление переменных: a, c, l (long int), i (int), fp (FILE*)
- Проверка на открытие файла с помощью функции fopen()
- Если файл успешно открыт, выполняется блок кода
- Переход в конец файла с помощью функции fseek()
- Определение размера файла с помощью функции ftell()
- Возвращение в начало файла с помощью функции fseek()
- Выделение памяти под строку с помощью функции malloc()
- Чтение содержимого файла в выделенную память с помощью функции fread()
- Разделение содержимого файла на строки с помощью функции strtok()
- Пропускание первых двух строк с помощью функции strtok()
- Вывод третьей строки на экран с помощью функции printf()
- Закрытие файла с помощью функции fclose()
- Освобождение выделенной памяти с помощью функции free()
- Возврат значения 0, что означает успешный исход программы
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д