Из записанных в файл 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, что означает успешный исход программы
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д