Usando a biblioteca readline

Publicado por Fabio Junior Sabai 08/12/2004

[ Hits: 11.113 ]

Download teste.c




A biblioteca readline, a mesma usada pelo bash, serve, como o nome diz, para ler linhas. Ela porém faz mais que isso: permite edição total da linha a ser lida, permite manter histórico de linhas lidas, salvar histórico, recuperar histórico, e muitas outras coisas. Vou mostrar nesse script um pouco do que ela oferece.<br>
Obs.: Para compilar use: gcc -o arq arq.c -lreadline -lncurses

  



Esconder código-fonte

#include < stdio.h><br>
#include < readline/readline.h><br>
#include < readline/history.h><br>
<br>
main()<br>
{<br>
     char *s = (char *) 1;<br>
     int n = 0, sair = 0;<br>
<br>
     printf("Teste da biblioteca readline. Para sair entre com uma linha vazia\n\n");<br>
<br>
     read_history("/tmp/historico"); /* le o histórico do arquivo, se o arquivo existir */<br>
     using_history(); /* habilita o uso do histórico */<br>
<br>
     do {<br>
         /* o argumento da readline é o prompt a ser exibido<br>
           se o argumento for NULL, nenhum prompt é exibido */<br>
         s = readline("\\>"); <br>
<br>
         if ( *s ) /* para ignorar linhas em branco */<br>
         {<br>
             add_history(s); /* adiciona a linha lida ao histórico */<br>
             n++; /* para ser usada na função append_history abaixo */<br>
<br>
             /* aqui você pode fazer o que quizer com a linha lida */<br>
             printf("linha lida: %s\n", s);<br>
<br>
             /* e depois liberar a memória alocada pela readline */<br>
             free(s);<br>
         }<br>
         else<br>
             sair = 1;<br>
     } while ( !sair );<br>
<br>
     /* se o arquivo existir adiciona n linhas do histórico ao arquivo,<br>
       caso contrário escreve todo o histórico no arquivo */<br>
     if ( append_history(n, "/tmp/historico") != 0 )<br>
         write_history("/tmp/historico");<br>
<br>
     exit(0);<br>
}<br>
<br>

Scripts recomendados

Jogo da Velha

VALIDAR CPF EM C++ POO

Jogo da velha em C purinho

Aplicativo em Windows

vetor01.c (programa que envolve vetor, simples)


  

Comentários

Nenhum comentário foi encontrado.


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts