Forum by laureateci.it
[ Home | REGOLE FORUM | Tutti i blog | Profilo | Registrati | CHAT | Discussioni Attive | Discussioni Recenti | Segnalibro | Msg privati | Sondaggi Attivi | Utenti | Download Informatica | Download ICD | Download TPS | Download Magistrale | Download Specialistica | Giochi | Cerca nel web | cerca | faq | RSS ]
Nome Utente:
Password:
Salva Password
Password Dimenticata?

 Tutti i Forum
 INFORMATICA - Primo Anno
 Linguaggi di programmazione
 Aiuto linguaggio C

Nota: Devi essere registrato per poter inserire un messaggio.
Per registrarti, clicca qui. La Registrazione è semplice e gratuita!

Larghezza finestra:
Nome Utente:
Password:
Modo:
Formato: GrassettoCorsivoSottolineatoBarrato Aggiungi Spoiler Allinea a  SinistraCentraAllinea a Destra Riga Orizzontale Inserisci linkInserisci EmailInserisci FlashInserisci Immagine Inserisci CodiceInserisci CitazioneInserisci Lista Inserisci Faccine
   
Icona Messaggio:              
             
Messaggio:

  * Il codice HTML è OFF
* Il Codice Forum è ON

Smilies
Approvazione [^] Arrabbiato [:(!] Bacio [:X] Bevuta [:273]
Caldo [8D] Compiaciuto [8)]    
compleanno [:269]
Davvero Felice [:D] Diavoletto [}:)] Disapprovazione [V] Domanda [?]
Felice [:)] Fumata [:29] Goloso [:P] Imbarazzato [:I]
Infelice [:(] Morte improvvisa da [:62]
Morto [xx(] Occhio Nero [B)] Occhiolino [;)] Palla 8 [8]
pc [:205]    
Riproduzione [:76]
Scioccato [:O]      

   Allega file
  Clicca qui per inserire la tua firma nel messaggio.
Clicca qui per sottoscrivere questa Discussione.
    

V I S U A L I Z Z A    D I S C U S S I O N E
ohtar Inserito il - 05/07/2004 : 13:34:27
Come faccio ad assegnare ad un campo di tipo char di una struct, la stringa presa in input?

esempio:
struct table{
char nominativo[30];
}tabella;

char nome[30];
printf("Inserisci un nome\n");
scanf("s",&nome);
tabella.nominativo=nome;
printf("Il nome inserito e': %s",tabella.nominativo);

Qualcuno sa dirmi come posso fare e se questo procedimento è sbagliato? Ci sono errori di assegnazione per caso?

Grazie.

9   U L T I M E    R I S P O S T E    (in alto le più recenti)
ohtar Inserito il - 05/07/2004 : 16:18:56
Grazie badpenguin adesso è tutto ok e finalmente la gestione del libretto universitario è conclusa.
novantuno Inserito il - 05/07/2004 : 16:10:59
Secondo me potresti benissimo fare a meno della stringa nome ed
immettere il tutto nel campo nominativo del record !

Tutto il resto scritto da badpenguin è perfetto !

Un ultima cosa : la stringa inserita deve avere lo spazio
necessario a contenere anche il carattere di terminazione
della stringa '\0' !
badpenguin Inserito il - 05/07/2004 : 15:46:52
Il problema è dovuto come dice il tuo compilatore, ad un assegnazione errata Nella fattispecie stai cercando di assegnare un indirizzo di memoria e non il valore in se.

Per copiare le stringhe puoi usare le funzioni di librerie standard del C per la gestione delle stringhe, in questo caso la strcpy, o strncpy ritenuta piu sicura.


Dovresti fare qualcosa del genere:

struct table{
char nominativo[30];
}tabella;

char nome[30];
printf("Inserisci un nome\n");
scanf("%s",nome);
strcpy(tabella.nominativo,nome);
// oppure strncpy(tabella.nominativo,nome,30)
printf("Il nome inserito e': %s",tabella.nominativo);


Ricordati di inserire anche #include<string.h> all'inizio del sorgente.

Ciao
Chilavert Inserito il - 05/07/2004 : 15:45:22
prova
printf("Il nome inserito e': %s",&tabella.nominativo);
ohtar Inserito il - 05/07/2004 : 15:43:18
Mi da sempre lo stesso errore anche con gets.Non so come fare. Riesco a visualizzare tutti i campi interi ma non quelli contenenti stringhe.
Chilavert Inserito il - 05/07/2004 : 15:12:29
anzichè scanf usa gets...
ohtar Inserito il - 05/07/2004 : 14:58:48
A me da il seguente errore a questa riga: tabella.nominativo=nome;
Errore: incompatible types in assignment
Qualcuno sa come posso risolvere questo errore?
ohtar Inserito il - 05/07/2004 : 14:04:15
no quello è stato un mio errore di scrittura.ma nn è quello il problema purtroppo.
genius Inserito il - 05/07/2004 : 14:02:16
Citazione:
Messaggio inserito da ohtar

Come faccio ad assegnare ad un campo di tipo char di una struct, la stringa presa in input?

esempio:
struct table{
char nominativo[30];
}tabella;

1. char nome[30];
2. printf("Inserisci un nome\n");
3. scanf("s",&nome);
4. tabella.nominativo=nome;
5. printf("Il nome inserito e': %s",tabella.nominativo);

Qualcuno sa dirmi come posso fare e se questo procedimento è sbagliato? Ci sono errori di assegnazione per caso?

Grazie.





i miei ricordi vaghi di c mi dicono ke alla riga 3 va scritto...

"%s" e nn "s"...

Forum by laureateci.it © 2002 - 2012 Laureateci Communications Torna all'inizio della Pagina
Il DB ha risposto in 0,06 secondi.

TargatoNA.it | SuperDeejay.Net | Antidoto.org | Brutto.it | Equiweb.it | Snitz Forum 2000