У меня есть заранее выделенный буфер (массив символов), в который записываются строки, это выглядит так:
"Это \ 0buffer \ 0contains \ 0strings \ 00000 ..."
Я хочу иметь возможность удалить последнюю строку, поэтому мне пришла в голову идея представить каждую строку в буфере как узел связанного списка с указателями на его начало и конец, так что я бы просто нашел последний узел и заполните область, в которой он находится, нулями.
struct node
{
char *str_start;
char *str_end;
struct node *next;
};
Похоже, это очень распространенная проблема, однако я нигде не смог найти такие реализации.
Вопрос в том, есть ли какая-то структура данных для моего варианта использования, которую я пропустил, или есть лучшее решение для этого?
Примечание: это должно использоваться в модуле ядра, так что, возможно, оно уже реализовано в ядре