PDA

View Full Version : [C]-unix Particolare di struct


stella_650
09-01-2007, 18:48
Ciao ragazzi!
Avrei bisogno che qualcuno mi aiutasse a ricordare come assegnare un valore letto in input ad un campo di una struct che è un array di char( stringa)
la mia struct è la seguente
struct info_client {
char cod_piet[10];
int num_tavolo;
int n_port;
};
typedef struct info_client CLIENTE;

....leggo poi una variabile da input...
scanf("%s",&codpiet);

ora dovrei assegnare, dopo che l'ho inizializzato, il mio cod_piet della struct con codpiet ma dopo aver fatto vari tentativi l'errore restituitomi è sempre
error: incompatible types in assignment che chiaramente mi fa capire che c'è una incongruenza d tipi...
Qual è l'istruzione corretta per ottenere ciò che desidero...(humm..nn m ricordo io..)?
Grazie

beppegrillo
09-01-2007, 18:55
CLIENTE.codpiet ?

stella_650
09-01-2007, 19:21
è l'assegnazione che non ricordo cioè
CLIENTE.cod_piet=codpiet;
così come sta mi genera errore

beppegrillo
09-01-2007, 19:37
è l'assegnazione che non ricordo cioè
CLIENTE.cod_piet=codpiet;
così come sta mi genera errore
Non avevo visto l'underscore x_x'.
Cmq se sono due array di char, puoi usare
strncpy()

stella_650
09-01-2007, 20:18
ecco..si grazie mille era questo che nn mi ricordavo:)
Molto gentile
Buona serata

andbin
09-01-2007, 21:23
ora dovrei assegnare, dopo che l'ho inizializzato, il mio cod_piet della struct con codpietCosì:
CLIENTE cli;
scanf ("%s", cli.cod_piet);