FelipeZVM Postado Setembro 22, 2007 Denunciar Share Postado Setembro 22, 2007 Eu criei uma estrutura struct Dados{ char *nome; char *DDDfoneRes; char *foneRes; ..........declarei struct Dados contato;Depois inicializei void iniciar(){ contato.nome = NULL; contato.DDDfoneRes = NULL; contato.foneRes = NULL; ..........Usei o fgets e também tentei o gets void incluirNome(){printf("Nome: "); fgets(contato.nome,50,stdin);Porém quando o programa chega no fgets trava e fecha.Com o scanf funciona, mas eu gostaria de ler o nome completoe ele lê apenas a primeira palavraSe alguém puder me ajudar, ficarei agradecidoFalow Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Micheus Postado Setembro 26, 2007 Denunciar Share Postado Setembro 26, 2007 FelipeZVM, aparentemente você não está alocando espaço para a variável string que passa para a função. Lembrando que ser o tamanho da string a ser lida é 50, o espaço que deverá ser reservado (alocado) é de 50+1. Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
FelipeZVM
Eu criei uma estrutura
struct Dados{
char *nome;
char *DDDfoneRes;
char *foneRes; ..........
declarei
struct Dados contato;
Depois inicializei
void iniciar(){
contato.nome = NULL;
contato.DDDfoneRes = NULL;
contato.foneRes = NULL; ..........
Usei o fgets e também tentei o gets
void incluirNome(){printf("Nome: "); fgets(contato.nome,50,stdin);
Porém quando o programa chega no fgets trava e fecha.
Com o scanf funciona, mas eu gostaria de ler o nome completo
e ele lê apenas a primeira palavra
Se alguém puder me ajudar, ficarei agradecido
Falow
Link para o comentário
Compartilhar em outros sites
1 resposta a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.