ciao a tutti...ho copiato pari pari questo codice dal mio libro di C...controllato varie volte se ho copiato bene ma riscontro sempre degli errori quando vado a compilare
Codice PHP:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>

int encode_character(int chint val);
int decode_character(int chint val);

int main(int argcint *argv[])
{
    
FILE *fh/* handle di file */
    
int rv=1/*valore restituito */
    
int ch=0/* variabile per memorizzare un carattere */
    
unsigned int ctr=0/* contatore */
    
int val=5/* valore con cui codificare */
    
int buffer[257]; /* buffer */

    
if(argc!=3) {
        
printf("\nErrore: Numero di parametri errato...\n");
        
printf("\n\nUso: %s nome file azione"argv[0]);
        
printf("\n\nDove:");
        
printf("\n\tnome file = file da codificare o decodificare\n");
        
printf("\tazione = D per decodificare, C per codificare\n");
        
rv=-1/* imposta il valore di errore restituito */
    
} else if((argv[2][0]=='D')||(argv[2][0]=='d')) /* per decodificare */ {
        
fh=fopen(argv[1], "r"); /* apre file */
        
if(fh<=0) { /* controlla errori */
            
printf("\n\nErrore apertura file..\n");
            
rv=-2/* imposta il valore di errore restituito */
        
} else {
            
ch=getch(fh); /* ottiene un carattere */
            
while(!feof(fh)) { /* verifica se fine file */
                
ch=decode_character(chval);
                
putchar(ch); /* scrive il carattere sullo schermo */
                
ch=getc(fh);
            }
            
fclose(fh);
            
printf("\n\nFile decodificato sullo schermo\n");
        }
    } else { 
/* assume la codifica sul file */
        
fh=fopen(argv[1], "w");
        if(
fh<=0) {
            
printf("\n\nErrore creazione file...\n");
            
rv=-/* imposta valore di errore restituito */
        
} else {
            
printf("\nInserire testo da codificare");
            
printf("\nInserire una riga bianca per terminare\n\n");
            while(
gets(buffer)!=NULL) {
                if(
buffer[0]==0)
                    break;
                for(
ctr=0ctr<strlen(buffer); ctr++) {
                    
ch=encode_character(buffer[ctr], val);
                    
ch=fputc(chfh); /* scrive il char sul file */
                
}
            }
            
printf("\n\nFile codificato su file\n");
            
fclose(fh);
        }
    }
    return(
rv);
}
int encode_character(int chint val) {
    
ch=ch+val;
    return(
ch);
}
int decode_character(int chint val) {
    
ch=ch-val;
    return(
ch);

cosa c'č che non va?

ciao ciao