Newsgroup: it.comp.lang.c
Titolo: =?utf-7?Q?array'struct'--+ALs-funzione?=

/+ACo-array'struct'--+ALs-funzione(PROBLEMA)+ACo-/
/+ACo-premessa: viste le assurde difficolta che ho riscontrato
nel tentare di trasferire degli array di char ad una
funzione ho seguito il consiglio di un gentile amico
creando delle 'struct' contenenti 'char array+AFsAXQ-', strutture
che vengono effettivamente trasferite alle funzioni
ma ci sono dei problemi che ora descrivo:+ACo-/
/+ACo-io immetto da tastiera 3 stringhe di caratteri
queste stringhe vengono memorizzate in settori
di strutture+ADs- se io successivamente faccio stampare
a video le stringhe memorizzate direttamente da 'main()'
non ci sono problemi ma se faccio la stessa cosa con
l'appoggio di una funzione esterna i caratteri
o vengono completamente sballati o non vengono
stampati del tutto. Per quale motivo ???+ACo-/
/+ACo-comunque sia quello che segue +AOg- il listato se qualcuno
ha la gentilezza e la pazienza di seguirmi gliene sar+API-
grato+ADs- sono ai primi passi e non voglio arrendermi.
    ciao e grazie.
     Samuele+ACo-/
/+ACo-predispongo 2 strutture contenenti char+ACo-/
struct dialog
  +AHs-
  char stringa+AFs-50+AF0AOw-
  char stringb+AFs-50+AF0AOw-
  +AH0AOw-
struct analog
  +AHs-
  char stringa+AFs-50+AF0AOw-
  +AH0AOw-
/+ACo-creo 2 funzioni che stampano a video
i caratteri e la lunghezza dei char+AFsAXQ-rispettivamente:
ascii x 2tipo dialog, asci x 1tipo analog+ACo-/
void ascii(struct dialog dlg,struct dialog dlg)
+AHs-
printf(+ACIAXA-n+ACU-s+AF8-strlen(+ACU-d)+ACI-,dlg.stringa,strlen(dlg.stringa))+ADs-
printf(+ACIAXA-n+ACU-s+AF8-strlen(+ACU-d)+ACI-,dlg.stringb,strlen(dlg.stringb))+ADs-
+AH0-
void asci(struct analog alg)
+AHs-
printf(+ACIAXA-n+ACU-s+AF8-strlen(+ACU-d)+ACI-,alg.stringa,strlen(alg.stringa))+ADs-
+AH0-
int main()
+AHs-
int t+ADs-
struct dialog dlg+ADs-/+ACo-creo una struttura tipo dialog+ACo-/
struct analog alg+ADs-/+ACo-creo una struttura tipo analog+ACo-/
for(t+AD0-0+ADs-t+ADw-50+ADs-t+-+-)/+ACo-azzero il valore di ogni elemento degli +ACo-/   /+ACo-array
visto che mi danno problemi.sempre +ACo-/   /+ACo-che serva a qualcosa+ACo-/
  +AHs-
  dlg.stringa+AFs-t+AF0APQ-0+ADs-
  dlg.stringb+AFs-t+AF0APQ-0+ADs-
  alg.stringa+AFs-t+AF0APQ-0+ADs-
  +AH0-
printf(+ACIAXA-nscrivi la prima dialog+AFw-n+ACI-)+ADs-
gets(dlg.stringa)+ADs-/+ACo-inizializzo dlg.stringa+ACo-/
printf(+ACIAXA-nscrivi la seconda dialog+AFw-n+ACI-)+ADs-
gets(dlg.stringb)+ADs-/+ACo-inizializzo dlg.stringb+ACo-/
ascii(dlg.stringa,dlg.stringb)+ADs-/+ACo-trasf.a funzione+ACo-/
/+ACo-PROBLEMI DI STAMPA+ACo-/
printf(+ACIAXA-nscrivi la stringa analog+AFw-n+ACI-)+ADs-
gets(alg.stringa)+ADs-/+ACo-inizializzo alg.stringa+ACo-/
asci(alg.stringa)+ADs-/+ACo-trasf.a funzione+ACo-/
/+ACo-PROBLEMI DI STAMPA+ACo-/
printf(+ACIAXA-nora stampo le stringhe evitando il passaggio alle funzioni+ACI-)+ADs-
printf(+ACIAXA-n+ACU-s+AFw-n+ACU-s+AFw-n+ACU-s+ACI-,dlg.stringa,dlg.stringb,alg.stringa)+ADs-
/+ACo-NESSUN PROBLEMA DI STAMPA+ACo-/
return 0+ADs-
+AH0-
/+ACo-teoricamente questo exe dovrebbe stampare a video
le stringhe che io stesso ho immesso via tastiera
invece se l'operazione +AOg- svolta da funzioni vengono visualizzati altri
caratteri al posto di quelli da me
inseriti e addirittura alcune stringhe che ho dato
in input non vengono nemmeno visualizzate+ACo-/
/+ACo-al contrario se le stesse variabili vengono richiamate
all'interno della funzione 'main()'senza passarle alle
funzioni non ci sono problemi di stampa+ACo-/

array'struct'--+ALs-funzione(PROBLEMA)
premessa: viste le assurde difficolta che ho riscontrato
nel tentare di trasferire degli array di char ad una
funzione ho seguito il consiglio di un gentile amico
creando delle 'struct' contenenti 'char array+AFsAXQ-', strutture
che vengono effettivamente trasferite alle funzioni
ma ci sono dei problemi che ora descrivo:
io immetto da tastiera 3 stringhe di caratteri
queste stringhe vengono memorizzate in settori
di strutture+ADs- se io successivamente faccio stampare
a video le stringhe memorizzate direttamente da 'main()'
non ci sono problemi ma se faccio la stessa cosa con
l'appoggio di una funzione esterna i caratteri
o vengono completamente sballati o non vengono
stampati del tutto. Per quale motivo ???
comunque sia quello che segue +AOg- il listato se qualcuno
ha la gentilezza e la pazienza di seguirmi gliene sar+API-
grato+ADs- sono ai primi passi ma non voglio arrendermi.
    ciao e grazie.
     Samuele
predispongo 2 strutture contenenti char
