Salve ragazzi l'esercizio da fare è il seguente:
Il codice che ho scritto fa quanto richiesto(almeno dai test che ho fatto) ma aggiunge pure uno strano carattere alla fine del primo file, questo: ˙Scrivere un programma che prende come argomenti del main i nomi di due file di testo e appende il contenuto del secondo file al primo file. Ad esempio, se il primo file contiene Testo primo file e il secondo file contiene Testo secondo file allora il programma modifica il primo file così Testo primo fileTesto secondo file.
Sapete dirmi il perchè?
codice:#include <stdio.h> #include <stdlib.h> char* leggilinea( FILE* fsecondo, char* line ) { int n = 0, c; do { c = fgetc( fsecondo ); line = realloc( line, sizeof(char)*(n+1) ); line[n++] = c; }while( c != EOF ); if( line != NULL ) { line = realloc( line, sizeof(char)*(n+1) ); line[n++] = '\0'; } return line; } int main( int argc, char* argv[] ) { FILE* fprimo = fopen( argv[1], "a" ); FILE* fsecondo = fopen( argv[2], "r" ); if( fprimo == NULL || fsecondo == NULL ) { printf( "Errore nell'apertura files\n" ); return 0; } char* line = NULL; line = leggilinea( fsecondo, line ); fprintf( fprimo, "%s", line ); free( line ); fclose(fprimo); fclose(fsecondo); return 0; }

Rispondi quotando
