Ir para o conteúdo
Cypher

Ler string sem scanf e gets ?

Mensagens Recomendadas

Cypher    0
Cypher

Boas possoal, estou a fazer um programa, e compilo em gcc, tenho que entregar o codigo sem erros e sem warnings...

tenho um problema, tenho que ler uma string e usando o gets para ler uma string, aparece me um warning . :S.

Um colega meu disse que dava para utilizar outra instruçao, alguem sabe ?

cumps [[]]

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
Hipnoted    6
Hipnoted

aconteceu me um imprevisto, nao dá para usar o fgets

mas sem guardar o valor do enter ??

Para isso podes, no final de leres, retirar o \n:

fgets(string,20,stdin);

int len = strlen(string);
string[len-1] = '\0';

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
mogers    14
mogers

aconteceu me um imprevisto, nao dá para usar o fgets

mas sem guardar o valor do enter ??

Pois, é o "problema" do fgets. Faz como o Hipnoted disse. Eu só colocava um if para ver se o ultimo caracter da string é mesmo um \n. Porque se leres de um ficheiro em não tivesse um \n na ultima linha, a string lida não tinha \n.

É uma precaução...

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
Guest tsenart   
Guest tsenart

Já agora, há algum problema em especial com o scanf?

Se não houver

char str[5];
scanf("%4[^\n]",str);

Não te esqueças de limpar o buffer de entrada...

scanf("%*[^\n]"); scanf("%*c");

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!

Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.

Entrar Agora


×

Aviso Sobre Cookies

Ao usar este site você aceita os nossos Termos de Uso e Política de Privacidade