Salve,
sto facendo un programma per eliminare i doppioni,
per questo programma avevo già aperto una discussione
in precedenza http://forum.html.it/forum/showthread.php?s=&threadid=1494491] precedente discussione [/URL] , ma dopo le varie correzioni apportate
continua ad avere un comportamento anomalo ( non stampa sebbene la funzione sia corretta, non riconosce sempre bene i doppioni ) che
non riesco a spiegarmi in nessun modo, anche perchè le singole funzioni
funzionano.
grazie!!!
codice:int main(void) { char* filename = malloc (sizeof (char*)); char* filenout = malloc (sizeof (char*)); char* first = malloc( sizeof(char*)); char* second = malloc( sizeof(char*)); FILE* source; int flag = 1; int egu = 0; printf(" <-------- DUPLICATE CLEANER -------->\n\n\n"); printf(" inserire il nome del file di input:"); scanf("%s", filename); filenout = namer(filename); printf("\n <-------- pulizia in corso -------->\n\n\n"); source = fopen(filename, "r"); flag = myget(source, first); if( flag != 0 ) flag = myget(source, second); while( flag != 0 ){ egu = strcmp(first, second); if( egu != 0) { // diversi: si stampa first e si effettua la promozione di second myprint( filenout, first); strcpy(second, first); flag = myget(source, second); } else{ // uguali: si cambia second flag = myget(source, second); } } fclose(source); printf("\n <-------- pulizia terminata!! -------->"); system("PAUSE"); return 0; }

Rispondi quotando