如何将读取历史记录保存在文本文件中并在之后调用

发布于 2024-12-02 07:00:23 字数 958 浏览 2 评论 0原文

是否可以将读取行历史记录保存在文本文件中,并在重新打开程序后获取历史记录...

char *line, *expansion;
int result;

stifle_history(7);

while ((line = readline(" $ ")) != NULL) {  

        result = history_expand(line, &expansion);

        rl_bind_key('\t',rl_complete);

        if (result)
                fprintf(stderr, "%s\n", expansion);

        if (result < 0 || result == 2) {
                free(expansion);
                continue;
        }

        strncpy(line, expansion, sizeof (line) - 1);
        free(expansion);
        read_history("history_file");
        write_history("history_file");

        register HIST_ENTRY **the_list;
        register int i;

        if (the_list)
                for (i = 0; the_list[i]; i++)
                        printf("%d: %s\n", i + history_base, the_list[i]->line);

        if (strlen(line) > 0) 
                add_history(line);

我改进了我的代码。请显示正确的方法,我如何修复我的代码以将历史记录保存在文本文件中,然后检索它。

Is it possible to save readline history in a text file and get the history after I reopen my program...

char *line, *expansion;
int result;

stifle_history(7);

while ((line = readline(" $ ")) != NULL) {  

        result = history_expand(line, &expansion);

        rl_bind_key('\t',rl_complete);

        if (result)
                fprintf(stderr, "%s\n", expansion);

        if (result < 0 || result == 2) {
                free(expansion);
                continue;
        }

        strncpy(line, expansion, sizeof (line) - 1);
        free(expansion);
        read_history("history_file");
        write_history("history_file");

        register HIST_ENTRY **the_list;
        register int i;

        if (the_list)
                for (i = 0; the_list[i]; i++)
                        printf("%d: %s\n", i + history_base, the_list[i]->line);

        if (strlen(line) > 0) 
                add_history(line);

I improved my code a bit. Please show the the correct way how I can fix my code to save history in a text file retrieve it afterwards.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

一抹淡然 2024-12-09 07:00:23

根据手册,你想看看write_historyread_history 函数。

According to the manual, you want to look at the write_history and read_history functions.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文