Linux slogan
Visite também: Segurança Linux · BR-Linux.org · Dicas-L · Doode · NoticiasLinux · SoftwareLivre.org · UnderLinux



» Screenshot
Linux: Gnome Black simples + Openbox
Por marcrock
» Login
Login:
Senha:

Se você ainda não possui uma conta, clique aqui.

Esqueci minha senha


Comunidades

Comunidade Linux Home Participar da comunidade Linux Participar Fórum Linux Fórum Membros LinuxMembros RSS do fórum

<< Primeira | Anterior Próxima | Última >>

Como usar o getline() ??? [RESOLVIDO]

[1] Enviado em 18/09/2012 - 12:01h Como usar o getline() ??? [RESOLVIDO]
Linux user: Augusto Cadini
tuto

(usa Fedora)


Preciso fazer um trabalho de algoritmos, e preciso ler uma linha inteira a partir do teclado ou txt. Mas vou fazer a partir do teclado.
Preciso escrever uma linha onde necessito identificar os caracteres para saber aonde abre e fexa "[]" os colchetes e armazenar algumas strings.
Ex:

Nome [ força1: 2, força2: 10]

Ai tenho q identificar os caracteres e armazenar as entradas.

 

  


[2] Enviado em 18/09/2012 - 13:10h Re: Como usar o getline() ??? [RESOLVIDO]
Linux user: Perfil removido
removido

(usa Nenhuma)


tuto escreveu:

Preciso fazer um trabalho de algoritmos, e preciso ler uma linha inteira a partir do teclado ou txt. Mas vou fazer a partir do teclado.
Preciso escrever uma linha onde necessito identificar os caracteres para saber aonde abre e fexa "[]" os colchetes e armazenar algumas strings.
Ex:

Nome [ força1: 2, força2: 10]

Ai tenho q identificar os caracteres e armazenar as entradas.



Leia a linha ~ tem que haver um padrão
Leia conforme o padrão ~ ex: quando encontrar : a informação a seguir é sobre a quantidade
Armazene os dados



 

[3] Enviado em 18/09/2012 - 13:30h Re: Como usar o getline() ??? [RESOLVIDO]
Linux user: Paulo
paulo1205

(usa Ubuntu)


getline() lê a linha inteira para dentro de um buffer, que pode ser um array de char ou std::string. Depois você pode procurar os campos da linha lida com sscanf() (leia sua documentação), ou std::istringstream, ou fazer um parser sob medida com strtok() e strtod() etc.

 

[4] Enviado em 18/09/2012 - 13:43h Re: Como usar o getline() ??? [RESOLVIDO]
Linux user: Augusto Cadini
tuto

(usa Fedora)


Obrigado Paulo, o problema eh q não encontrei documentação, nem no man nem no google, somente para c++.

 

[5] Enviado em 18/09/2012 - 13:52h Re: Como usar o getline() ??? [RESOLVIDO]
Linux user: Perfil removido
removido

(usa Nenhuma)


tuto escreveu:

Obrigado Paulo, o problema eh q não encontrei documentação, nem no man nem no google, somente para c++.


http://crasseux.com/books/ctutorial/getline.html

 

[6] Enviado em 18/09/2012 - 16:27h Re: Como usar o getline() ??? [RESOLVIDO]
Linux user: Paulo
paulo1205

(usa Ubuntu)


A documentação de std::getline() pode ser encontrada em <http://www.cplusplus.com/>.

Acho que não existe documentação de C++ em forma da manpage. Mas quando eu citei manpage, foi para sscanf(), que é, na minha opinião, uma das mais convenientes formas de fazer parsing de campos em C.

 

[7] Enviado em 18/09/2012 - 18:38h Re: Como usar o getline() ??? [RESOLVIDO]
Linux user: Paulo
paulo1205

(usa Ubuntu)


Hummm... Vivendo e aprendendo!

Eu não sabia que a glibc tinha criado uma função getline(), e muito menos que isso tinha ido parar no POSIX. Eu só conhecia a getline() de C++, que parece ter sido a fonte de inspiração para a implementação em C.

Nesse caso, existe, sim, a manpage dela (conforme atestei agora na minha máquina).

Por outro lado, essa função é POSIX, mas não está na biblioteca padrão do C. Se se tiver alguma intenção de levar o programa para um Windows da vida, é possível que não funcione (o novo padrão do C de 2011, ao que me parece, adotou a gets_s() da Microsoft, que eu acho pior do que getline() e fgets()).

 

[8] Enviado em 18/09/2012 - 19:15h Re: Como usar o getline() ??? [RESOLVIDO]
Linux user: Augusto Cadini
tuto

(usa Fedora)


Como disparo comando para ver a man dela?
Não consigui vizualizar..

estou tentando assim:

man getline
man getline()


 

[9] Enviado em 18/09/2012 - 19:29h Re: Como usar o getline() ??? [RESOLVIDO]
Linux user: Paulo
paulo1205

(usa Ubuntu)


Como ela é POSIX, você pode ver on-line em qualquer site de sistemas que implementem POSIX. Como eu gosto das manpages do BSD (que, em geral, são melhores do que as do Linux, embora haja honrosas exceções), eu costumo usar frequentemente http://man.netbsd.org/.

Como você usa ubuntu, tem de instalar o pacote manpages-dev para obter essa manpage.

 

[10] Enviado em 18/09/2012 - 23:58h Re: Como usar o getline() ??? [RESOLVIDO]
Linux user: Augusto Cadini
tuto

(usa Fedora)


Obrigado novamente.

Usando este medoto para ler linhas, como posso percorrer caracter a caracter? Para identificar cada string e armazena-las nos devidos lugares.?

 

  
<< Primeira | Anterior Próxima | Última >>
Responsável pelo site: Fábio Berbert de Paula - Conteúdo distribuído sob licença GNU FDL
Site hospedado por:

Viva o Linux

A maior comunidade Linux da América Latina! Artigos, dicas, tutoriais, fórum, scripts e muito mais. Ideal para quem busca auto-ajuda em Linux.