Sapreste dirmi cosa fa in modo che mat[0] sia uguale a mat[1] dopo la lettura di tutto il file?codice:while((e=fgetc(ptrdel))>0) { if((char)e=='\n') { control[i]='\0'; if((strcmp(control,del)) !=0) { printf("\nNon ho trovato l'occorrenza, memorizzo\n"); mat[k] = control; i=0; k++; } if((strcmp(control,del)) == 0) { printf("\nTrovata occorrenza, non memorizzo\n"); i=0; } } if(e!=10) { control[i]=(char)e; i++; } } fclose(ptrdel); printf("mat[0]=%s\n",mat[0]); printf("mat[1]=%s\n",mat[1]); printf("mat[2]=%s\n",mat[2]); ptrdel = fopen("results.txt","w+"); for(x=0;x<n-1;x++) { fprintf(ptrdel,"%s",mat[x]); fprintf(ptrdel,"%c",'\n'); } fclose(ptrdel); }
mat è un array di stringhe su cui voglio salvare ogni stringa che ho letto da file di testo e che comparata con un'altra (ovvero control) sia diversa, altrimenti proseguo senza memorizzarla. Dal file di testo capisco che una stringa è finita dal carattere '\n'. Scrivo su control solo se il carattere tornato non è la fine del file o il carattere speciale "line feed" che indica la fine di una riga.
Grazie, è da parecchio che ci smanetto![]()