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;
}