Salve,oggi sono inciampato su questo problema,devo fare un ordinamento di un vettore di record
quando faccio lo scambio però usando la strcpy mi crasha il programma.
ne ho provate tante ma proprio non capisco.
vi allego il codice di definizione di struct e array, e la funzione ordina,sono + che sicuro che l'array e' caricato bene e che la funzione ordina lo scandisca, e propio la strcpy che mi da errore.
help plz!
questa e' la struct
typedef struct dizionario_cod_descrizione{
char *descrizione;
int dzcodice;
}dizionario_cod_descrizione;
dizionario_cod_descrizione Dizionario[maxdz];
questa e' la funzione ordina
void ordina(){
char appoggio[20];
int scan_esterno=1,scan_interno=1;//indice per ordinamento
for(scan_esterno=1;scan_esterno<fineDz;scan_esterno++){
for(scan_interno=2;scan_interno<fineDz;scan_interno++){
if(strcmp(Dizionario[scan_esterno].descrizione, Dizionario[scan_interno].descrizione) > 0){
strcpy(appoggio,Dizionario[scan_esterno].descrizione);
strcpy(Dizionario[scan_esterno].descrizione,Dizionario[scan_interno].descrizione);
strcpy(Dizionario[scan_interno].descrizione,appoggio);
}
}}}