Editor de textos ASCII

Este projeto consiste em construir um editor de textos em terminal ASCII usando a biblioteca NCurses para gerenciar a interface com o usuário.

Funcionalidades

O programa deve implementar as seguintes funcionalidades:

Controles

As operações de ler novo arquivo ou encerrar o programa devem perguntar se o usuário deseja salvar o conteúdo atual antes!

Forma de chamada

Requisitos do código-fonte

Estrutura do código

A 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:

Material de apoio

Ncurses:

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