• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

ruiguedes

nao sei o que usar para ler uma string...

3 mensagens neste tópico

boas pessoal

tenho um programa com a seguinte estrutura

 
typedef struct cliente{
int codigo;
char nome[50];
char morada[50];
char contribuinte[50];
}cliente;

leio clientes de ficheiros, até aí tudo bem...

acontece que quero adicionar um cliente a partir do teclado e se usar o scanf("%s", ((cliente*)ptr_data->nome) le mal,

pk a string tem espaços. a morada tb tem espaços e o scanf manda me dar uma volta.....

ja usei o gets(nome)

e depois fiz isto

((cliente*)ptr_data->nome)=nome

tb nao dá...

já usei o strcpy, tb nao dá!!!

tou a desesperar

desde já obrigado. se puderem ajudar...

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

já resolvi o problema :D

desculpem...

pus

gets(((cliente*)ptr_data->nome))

que burro... :wallbash:

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Usa o fgets em vez do gets... O gets tem um problema de segurança...

ex:

fgets((cliente*)ptr_data->nome,100,stdin);

0

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