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]
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]
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]
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]
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]
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]