Как переписать часть строки в текстовом файле в C - PullRequest
0 голосов
/ 05 мая 2020

В настоящее время я пытаюсь создать программу, которая позволяет изменять и удалять файл, полный имен и меток. В настоящее время я могу найти имя и целевую строку, но мне было интересно, есть ли более эффективный способ разрешить редактирование строки, а не просто копировать строку, создавать из нее новую структуру и позволять пользователю изменить конкретные значения. Если нет, я счастлив go долгий путь, я просто надеялся, что есть что-то более эффективное

1 Ответ

0 голосов
/ 05 мая 2020

Удаление бита может быть выполнено путем пропуска нежелательных байтов, но нет возможности редактировать эту часть без выделения памяти или копирования. Вот пример удаления:

#include <stdio.h>
#include <stdlib.h>
#include <string.h>

int main(void)
{
        char *content = "John\nMichael\nAndrew\n";
        char *target = strstr(content, "Michael");
        int len_bef_tag = target - content;
        int targlen = strchr(target, '\n') - target;
        char *ptr = content;

        /* deletion */
        fwrite(ptr, 1, len_bef_tag, stdout);
        ptr = target + targlen + 1;
        printf("%s", ptr);

        return 0;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...