Este projeto consiste em construir um editor de textos em terminal ASCII usando a biblioteca NCurses para gerenciar a interface com o usuário.
O programa deve implementar as seguintes funcionalidades:
.txt, .c, .h, etc)mypad : abre um texto em branco (sem nome)mypad arq1.txt: abre o arquivo arq1.txt-Wall mypad (de “my Notepad”)mypad.c (programa principal)textfile.c, textfile.h (lê/escreve arquivos TXT)clipboard.c, clipboard.h (funções para manipular o clipboard)all, clean e purgeA estrutura geral de programas interativos, como editores, jogos, etc, usa a seguinte estrutura geral:
início
inicializações
repita
desenha tela e posiciona cursor
ler entrada do teclado
processa entrada (atualiza estado interno)
até fim
finalizações
fim
Mais informações a respeito dessa estrutura podem ser obtidas em:
Ncurses:
/usr/lib/ncurses/examples/ (pacote ncurses-examples)ncurses-examples disponível no Debian e derivados (Ubuntu, Mint, etc).Instalação da biblioteca NCurses no Linux (Ubuntu, Debian, Mint):
sudo apt-get install libncurses-dev
O código de inicialização da biblioteca NCurses, com as configurações necessárias para este projeto, é o seguinte:
initscr () ; // inicializa a biblioteca ncurses raw () ; // permite tratar teclas de controle (^C, ^Z, etc) keypad (stdscr, TRUE) ; // habilita leitura de teclas de setas, Fn, etc noecho () ; // não escreve as teclas lidas na tela curs_set (0) ; // esconde o cursor do terminal