Salve a tutti, sto facendo un esercizio dove devo leggere da file delle stringhe, salvarle in un vettore e prendere i primi 6 caratteri di ogni stringa. Ho scritto così:
codice:
#include <stdio.h>
#define M 20
#define N 30
int lettura(char parole[][N]){
FILE *f;
int i;
int num;
f=fopen("parole.txt", "r");
fscanf(f, "%d", &num);
while(!feof(f)){
for(i=0; i<num; i++){
fscanf(f, "%s", &parole[i]);
}
}
fclose(f);
return num;
}
int main(){
int dim;
int i, j;
char parole[M][N];
char caratteri[M][6];
dim=lettura(parole);
for(i=0; i<dim; i++){
for(j=0; j<6; j++){
caratteri[i][j]=parole[i][j];
}
printf("%s\n", caratteri[i]);
}
}
Legge i primi 6 caratteri ma non so perchè aggiunge dei caratteri strani alla fine di ogni parola:

Aiuto!