Переделать процедуру, используя функцию fseek - C (СИ)

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

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

нужно процедуру
void get_file_content(const char *str1, char *&str2)
{
     FILE *dscr=fopen(str1,"r"); - открытие файла для чтения
     char buf[65535];
     strcpy(buf,"\0"); - копирование в буфер указатель конца файла
     strcat(buf,"<p>"); - добавление к буферу тега начала параграфа
     while(!feof(dscr)) – цикл пока не конец файла
       fread(buf+3,1,sizeof(buf),dscr); - считывание файла (аргументы???)
     strcat(buf,"</p>"); - добавление к буферу закрывающего тега
     str2=buf;
}
переделать используя функцию fseek. Помогите пожалуйста

Решение задачи: «Переделать процедуру, используя функцию fseek»

textual
Листинг программы
void get_file_content(const char *str1, char *str2)
{
    FILE * f = fopen(str1, "rb");
 
    fseek(f, 0, SEEK_END);
    long l = ftell(f);
    fseek(f, 0, SEEK_SET);
    strcpy(str2,"<p>"); 
    fread(str2+strlen("<p>"), 1, l, f);
    str2[l+strlen("<p>")] = '\0';
    strcat(str2,"</p>");
 
    fclose(f);
 
}

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

  1. Открывает файл с помощью функции fopen.
  2. Использует функцию fseek, чтобы переместить указатель чтения в конец файла.
  3. Использует функцию ftell, чтобы получить текущее положение указателя чтения.
  4. Снова использует функцию fseek, чтобы переместить указатель чтения в начало файла.
  5. Копирует строку <p> в начало второго параметра функции.
  6. Использует функцию fread, чтобы прочитать содержимое файла в оставшуюся часть второго параметра функции.
  7. Добавляет символ '\0' в конец второго параметра функции, чтобы завершить строку.
  8. Использует функцию strcat, чтобы добавить строку </p> в конец второго параметра функции.
  9. Закрывает файл с помощью функции fclose.

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


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

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

6   голосов , оценка 4.333 из 5
Похожие ответы