Ciao ... Ci sono degli errori nella funzione separa_maiuscole_minuscole :
Ricordati anche che è brutta abitudine non inizializzare un puntatore (anche se non si userà al momento) come hai fatto tu ... Se non gli si vuole assegnare un valore subito si usa inizializzarlo a NULLcodice:void separa_maiuscole_minuscole (char s[][N], char vetc1[], char vetc2[], int num_s) { int i,j; int k1=0; int k2=0; for(i=0; i<num_s; i++) for(j=0;s[i][j]!='\0';j++) { if (s[i][j]>= 'A' && s[i][j]<='Z') { vetc1[k1]=s[i][j]; k1++;} else vetc2[k2]=s[i][j]; k2++; } // Qui devi terminare le 2 stringhe (vetc1 e vetc2) vetc1[k1] = '\0'; vetc2[k2] = '\0'; printf("il vettore maiuscole e' \n"); // printf("%s", vetc1 [i]); ERRORE printf("%s", vetc1); printf("il vettore minuscole e'\n"); //printf("%s", vetc2 [i]); ERRORE printf("%s", vetc2); }
Questo perchè può comportare degli errori difficili da scovare.codice:FILE* f = NULL; // nel tuo caso
Comunque il codice da te proposto è soggetto a delle restrizioni come ad esempio la lunghezza delle stringhe nel file ...

Rispondi quotando