Скопировать содержимое текстового файла, удалив в каждой строке слово номер N - C (СИ)

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

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

Здравствуйте! Помогите понять задание... Задание: Работа с файлами.

Обработку символьной строки оформить в виде функции. Сканирование строки и доступ к её элементам выполнить ТОЛЬКО с использованием команд адресной арифметики(работа с указателями). Это так же значит, что ЗАПРЕЩЕНО статически объявлять любые строковые переменные!

Скопировать содержимое текстового файла, удалив в каждой строке слово номер N. Я не могу понять,то что написано жирным шрифтом Не могли бы вы привести мне конкретный пример? Спасибо!

Решение задачи: «Скопировать содержимое текстового файла, удалив в каждой строке слово номер N»

textual
Листинг программы
#include <stdio.h>
#include <stdlib.h>
 
#define MAX_CHARS_IN_LINE 2048
 
void fff(char* txt) {
    /*..... как-то надо здесь запомнить в указатель начало слова номер N........*/
    /*........ потом так-же конец слова 
    , потом возможно memmove какое-нибудь...... */
}
 
int main(int argc, char *argv[])
{
  FILE *fp;
  char* str;
  str = (char*) malloc(MAX_CHARS_IN_LINE);
 
  if((fp=fopen(argv[1], "r"))==NULL) {
    printf("Не удается открыть файл.\n");
    exit(1);
  }
 
  while(!feof(fp)) {
    if(fgets(str, MAX_CHARS_IN_LINE, fp)) fff(str); //printf("%s", str);
  }
 
  fclose(fp);
  free (str);
  return 0;
}

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

В этом коде реализована функция fff, которая принимает строку в качестве аргумента и удаляет из неё слово, отмеченное номером N. Однако, точное удаление слова обосновано не было, и код для этого не был написан. Код в функции main открывает указанный в командной строке файл для чтения, затем читает его построчно с помощью функции fgets. Каждую прочитанную строку передают в функцию fff для обработки. После завершения чтения файла, он закрывается, а выделенная для работы с ним память освобождается. Обратите внимание, что в этом коде не реализован механизм определения, содержит ли строка слово, которое должно быть удалено. Также не было реализовано само удаление этого слова.

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


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

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

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