Ciao, dico anche la mia.Originariamente inviato da uMoR
se no la realloc ma sono impazzito
se qualcuno sa usarla meglio di me.. benvenga![]()
Visto che la dimensione del file è nota a priori credo che sia meglio una malloc():
La realloc() è abbastanza lenta, meglio evitarla se possibile.codice:// MinGW code #include <iostream> //per il BCC32: // #include <iostream.h> #include <conio.h> int main() { FILE *file; char ch, *buff, FileName[256]="pippo1.txt"; int indice, fileDim = 0; if (( file = fopen( FileName, "rb")) != NULL) { // 'Conto quanti bytes ci sono nel file while( ! feof( file ) ) { fgetc( file ); fileDim++; } fileDim--, printf("Dimensione del file %s = %d\n", FileName, fileDim); // Alloco la memoria necessaria per contenere il file +1 buff = (char*) malloc(sizeof(char) * fileDim+1); // Mi riporto all' inizio del file fseek(file, 0, SEEK_SET); for(indice=0; indice<fileDim; indice++) { buff[indice] = fgetc( file ); } printf("Contenuto del file :\n%s", buff); fclose(file); } getch(); return 0; }


Rispondi quotando