Leitura de strings

1. Leitura de strings

Mirando
mirando

(usa Debian)

Enviado em 16/03/2006 - 23:13h

Como se sabe a linguagem C, não dispõe de uma ferramenta similar a GET do clipper por exemplo, pois ali podemos (@ 10,10 say [Qual o Nome...] get NOME pict [@!]) ler uma variável caracter de um tamanho predefinido...

Estou precisando de uma função que faça a leitura de uma variável e que não permita ao usuário digitar uma quantidade maior de caracteres que o tamanho definido para a variável.

Exemplo: char s[30]. Ao chegar no 30 caracter o usuário não consiga acrescentar mais informações.

Além do mais a função em questão precisaria reconhecer as teclas de setas de movimentos, a tecla enter, backspace...

Alguém entre vós, teria uma luz para esse pobre mortal?


  


2. Re: Leitura de Strings

Filipe Niero Felisbino
filipe

(usa Suse)

Enviado em 17/03/2006 - 19:46h

Existem algumas bibliotecas que disponibilizam isto de forma bem simples. Já ouvi falar bastante sobre a NCurses, inclusive existe um tutorial sobre esta lib aqui no VOL ( http://www.vivaolinux.com.br/artigos/verArtigo.php?codigo=98&pagina=2 ).

Espero ter ajudado.


3. Re: Leitura de strings

Mirando
mirando

(usa Debian)

Enviado em 18/03/2006 - 00:14h

Caro Filipe,

Grato pela cooperação. Pode estar certo que vc muito me ajudou.

O Material recomendado é excelente!

Ainda não encontrei a função que estou precisando. Se souber de algo mais, favor avisar-me.

Abraços, Mirando.


4. Re: Leitura de Strings

Filipe Niero Felisbino
filipe

(usa Suse)

Enviado em 20/03/2006 - 07:39h

Encontrei outro tutorial abrangindo quase tudo sobre a ncurses, só que este é em inglês. O endereço é:
http://www.tldp.org/HOWTO/NCURSES-Programming-HOWTO/index.html dê uma olhada no capítulo 7 ( Input Functions ).

Espero que ajude.


5. Re: Leitura de strings

Diego da Silva de Medeiros
diegotosco

(usa Slackware)

Enviado em 20/03/2006 - 11:20h

Oi amigão,

Para a parte da captura das setas de movimento e outros caracteres especiais, procure pela função getch() das Ncurses, pode digitar no shell $ man getch que vem algumas coisas. Mas a função getch captura caractere por caractere, então você terá que fazer toda aquela jogada do for(...) para delimitar a quantidade de caracteres a serem lidos.
E se você quiser uma função que delimite o número de caracteres lidos, procure por fgets().

Os artigos sobre Ncurses daqui do vol são realmente muito bons.
Procure também na seção de scripts, tem vários programinhas interessantes.

Espero que tenha ajudado.

E boa sorte.






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts