Доступ к списку истории GNU Readline

Я нахожусь в процессе создания оболочки на C ++. Я использую Readline GNU с функцией истории; пытаясь распечатать список истории с:

using_history();
int length = history_length;
for(int i = 0; i < length; i++) {
history_set_pos(0);
cout << HIST_ENTRY *current_history();
cout << "\n";
HIST_ENTRY *history_next();
}

При запуске этого в оболочке он печатает адреса записей истории в шестнадцатеричном виде. Как я могу разыменовать, чтобы я мог получить доступ к фактической линии, которая была вызвана. Я знаю, что функция истории для GNU использует структуру:

typedef struct _hist_entry {
char *line;
char *timestamp;
histdata_t data;
} HIST_ENTRY;

И документация для current_history:

HIST_ENTRY * current_history (void)
Return the history entry at the current position, as determined by where_history(). If there is no entry there, return a NULL pointer.

0

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]