Jump to content

Problema na obtenção de strings!!!


Recommended Posts

Posted

Eu tou a fazer o trabalho final de programação e tou com um problema...

A obter strings, se usar

scanf(" %s",comando);

akilo ignorame os espaços e se usar

fgets(comando,DIMAX,stdin);

(o DIMAX ta definido como 100)

reconhece td mas depois n executa umas funçoes enkanto k com o scanf execute mas n le os espaços....

E o gets o meu stor diz k n se deve usar pk tem mtos problemas.

Alguem tem uma alternativa???

Posted

N é duvida, lol, é certeza.

Teoricamente devia ler o espaço mas ignora-o,

e fiz scanf de uma string pa um vector de dimensao 100..

testei com menos de 10 caracteres(incluindo espaços).

depois fiz o printf da string, e akilo imprimiu sem espaços mas sim numa nova linha, tipo

se escrever help help aparece:

help

help

mas se escrever help help aparece:

help

help na mm.

:S

Mas o Bruno ja me ajudou a resolver isto fazendo assim:

scanf("%[^\n]s",comando);

so k agr akilo dame outro prob.

no printf o outoput é o k escrevi mas bues vezes ate eu fazer ctlr+c (serve pa parar a execuçao)

Posted

não acaba o programa enquanto nao carregares em ctrl C? é porque esta em ciclo infinito.

em relação à cena da string eu acho que a melhor forma de apanhar texto é com o getchar, assim tens mais control sobre aquilo que o utilizador escreve, dá é mais trabalho.

  • 2 weeks later...
Posted

hehehe ele pára pk (e estupidamente) o caracter que corresponde ao espaço eh igual ao de final de string ou seja '\0' e se bem me lembro (ja nao pego em C faz tempo, ando com outras linguagens agr) pra ultrapassar esse problema tive que passar a string para uma cadeia de chars (que eh efectivamente o que uma string e') e dp verificar um a um se era o '\0' ja n me recordo bem, mas penso que foi assim

boa sorte com o trabalho! =)ß

Software is like sex... it's better when it's free

in the old days

P@P "C" && "Linux" Moderator

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.