Usando a biblioteca readline
Publicado por Perfil removido 08/12/2004
[ Hits: 11.282 ]
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
#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>
Ordenando linhas e colunas de matrizes
Escolha o algoritmo de ordenação
Algoritmo em C - Ordenação por Inserção
EXPRESSÕES ARITMÉTICAS - PARTE 2
Nenhum comentário foi encontrado.
Enviar mensagem ao usuário trabalhando com as opções do php.ini
Meu Fork do Plugin de Integração do CVS para o KDevelop
Compartilhando a tela do Computador no Celular via Deskreen
Como Configurar um Túnel SSH Reverso para Acessar Sua Máquina Local a Partir de uma Máquina Remota
Configuração para desligamento automatizado de Computadores em um Ambiente Comercial
Compartilhamento de Rede com samba em modo Público/Anônimo de forma simples, rápido e fácil
Cups: Mapear/listar todas as impressoras de outro Servidor CUPS de forma rápida e fácil
Criando uma VPC na AWS via CLI
Tem como instalar o gerenciador AMD Adrenalin no Ubuntu 24.04? (16)
Arch Linux - Guia para Iniciantes (2)
Problemas ao instalar o PHP (11)
Tenho dois Link's ( IP VÁLIDOS ), estou tentando fazer o failover... (0)