Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

naofuieu

como ler espaços em strings?

Recommended Posts

Ola, meu povo!!!

 

Olha, e o seguinte: sou iniciante em C e gostaria que voces me resolvessem uma duvida.

Quando peco pra meu programa ler uma string usando a funcao scanf, parece que esta funcao so esta lendo a frase ate encontrar um espaco...

Como faco pra que o espaco tambem seja incluido???

 

 

Valeus, pessoas.

 

PS: Desculpem pela falta de acentos, mas eh q o teclado de onde eu estou esta TOTALMENTE desconfigurado.

Isso eh o que acontece quando digito um a com acento agudo:

§a

ahuheuhauh http://forum.imasters.com.br/public/style_emoticons/default/assobiando.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

eu tbm sou bem iniciante mas acredito q usando a funcao getstr mas nao eh mto legal usa-la nao pq acho q ela nao liga pra memoria, entao cuidado ao usa-la... agora uma maneira eficiente nao sei dizer pra voce =/

Compartilhar este post


Link para o post
Compartilhar em outros sites

Valeu pela ajuda, pessoal.

Eu descobri uma maneira não muito bonita de se ler espaços com scanf mas que resolve:

 

...char nome[9];scanf("%[A-Za-z 0-9]", nome);...

Usando esse "código" aí em cima. Fica meio feio, mas deixa o código uniforme, se você usa muito printf e scanf como eu...

heheh

 

Agora... alguém me explica o que esse cara aí em cima quis dizer, pfv.. ahuheua

 

 

Falow

Compartilhar este post


Link para o post
Compartilhar em outros sites

O uso de expressões regulares é um recurso muito legal de scanf.No exemplo que voce propos a expressão significa:leia somente letras(minúsculas e maiúsculas), números e espaços.Tente uma entrada dessa e veja o que acontece:nome.sobrenomeUse isso e veja a diferença:

scanf("%[^\n]s", nome);
Essa expressão fazcom que scanf leia tudo até encontrar um ´\n´ uma nova linha. http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif

Valeu pela ajuda, pessoal.Eu descobri uma maneira não muito bonita de se ler espaços com scanf mas que resolve:

...char nome[9];scanf("%[A-Za-z 0-9]", nome);...
Usando esse "código" aí em cima. Fica meio feio, mas deixa o código uniforme, se você usa muito printf e scanf como eu...hehehAgora... alguém me explica o que esse cara aí em cima quis dizer, pfv.. ahuheuaFalow

Compartilhar este post


Link para o post
Compartilhar em outros sites

valeu aew Kandrade, pela ajuda.Eu n sou mt familiar com esse negócio de expr. regulares n.Vou ver se eu estudo isso. O padrão de expressões do C é igual ao do Perl???Axo q n, né? É mei estrenho esse q tu m mostrou.Faloww

Compartilhar este post


Link para o post
Compartilhar em outros sites

Creio que sim.o ^\n significa qualquer coisa terminada em \n http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif

valeu aew Kandrade, pela ajuda.Eu n sou mt familiar com esse negócio de expr. regulares n.Vou ver se eu estudo isso. O padrão de expressões do C é igual ao do Perl???Axo q n, né? É mei estrenho esse q tu m mostrou.Faloww

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.