Originariamente inviato da oregon
Fossi in te non leggerei un carattere alla volta con la fread, ma un blocco di byte abbastanza grande, ponendoli in un buffer in memoria, per elaborarli piu' velocemente.

Vedrai che la velocita' del programma (non script, programma) aumentera' notevolmente ...

oddio, così va molto piu veloce, grazie mille
quanto mi conviene prendere alla volta?? io ho messo 64.000, dici che devo aumentare ancora?? o meglio abbassare un po??

codice:
#include <stdio.h>

int main (void){
    
    char nomefile[20];
    scanf("%s",nomefile);
    printf("%s!\n",nomefile);


    char *buf;
    buf = new char [64000];
    FILE *f, *f_out;
    if ((f = fopen(nomefile, "rb")) && (f_out = fopen("cript.crp", "wb")))
	{
		size_t b;
        long x=0;
		while( b= fread( buf, 1, 64000, f) ) {
            int y;   
            for(y=0;y<=64000;y++) buf[y]=buf[y]+1; 
            x++;
            if((x%1048576)==0)
            printf("%dMb\n",(x/1048576));
            fwrite( buf, 1, b, f_out);

        }
	    pclose(f);
	    fclose(f_out);

	}
    
    
    return 0;   
}