Из записанных в файл 5 строк, нужно считать и вывести на экран третью - C (СИ)

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

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

Проблема в том, что из записанных в файл 5 строк, нужно считать и вывести на экран третью.
Листинг программы
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <locale.h>
  4. int main()
  5. {
  6. setlocale(LC_ALL, "Rus");
  7. int i;
  8. FILE *fp;
  9. if ((fp=fopen("FILE1.TXT","w"))==NULL)
  10. printf("Файл не открыт\n");
  11. else
  12. {
  13. printf("Файл открыт\n");
  14. for (i=0;i<5;i++)
  15. fprintf(fp, "Строка %d\n", i);
  16. fclose(fp);
  17. }
  18. return 0;
  19. }
Спасибо.

Решение задачи: «Из записанных в файл 5 строк, нужно считать и вывести на экран третью»

textual
Листинг программы
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <string.h>
  4. #include <locale.h>
  5. #define D "\n\r"
  6. int main(void)
  7. {
  8.   setlocale(LC_ALL,"Ru");
  9.   char *a,*c;
  10.   long int l=0;
  11.   int i=0;
  12.   FILE *fp;
  13.   if ((fp=fopen("C:/out.txt","rb"))==NULL)
  14.     printf("Файл не открыт\n");
  15.   else
  16.   {
  17.     fseek(fp,0,SEEK_END);
  18.     l=ftell(fp);
  19.     fseek(fp,0,SEEK_SET);
  20.     a=(char*)malloc(sizeof(char)*l);
  21.     fread(a,sizeof(char),l,fp);
  22.     for(c=strtok(a,D);c!=NULL;c=strtok(NULL,D))
  23.     {
  24.       i++;
  25.       if(i==3)
  26.       {
  27.          printf("%s\n",c);
  28.          break;
  29.       }    
  30.     }
  31.     fclose(fp);
  32.     free(a);
  33.   }
  34.     return(0);
  35. }

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

  1. Подключение необходимых библиотек для работы с файлами и строками
  2. Определение символа новой строки
  3. Установка русской локали для вывода
  4. Объявление переменных: a, c, l (long int), i (int), fp (FILE*)
  5. Проверка на открытие файла с помощью функции fopen()
  6. Если файл успешно открыт, выполняется блок кода
  7. Переход в конец файла с помощью функции fseek()
  8. Определение размера файла с помощью функции ftell()
  9. Возвращение в начало файла с помощью функции fseek()
  10. Выделение памяти под строку с помощью функции malloc()
  11. Чтение содержимого файла в выделенную память с помощью функции fread()
  12. Разделение содержимого файла на строки с помощью функции strtok()
  13. Пропускание первых двух строк с помощью функции strtok()
  14. Вывод третьей строки на экран с помощью функции printf()
  15. Закрытие файла с помощью функции fclose()
  16. Освобождение выделенной памяти с помощью функции free()
  17. Возврат значения 0, что означает успешный исход программы

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

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

10   голосов , оценка 4.5 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы