Announcement

Collapse
No announcement yet.

[os] systems calls - Covert file 1 to file 2 inverting upper/lower cases

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • [os] systems calls - Covert file 1 to file 2 inverting upper/lower cases

    PHP Code:
    /*
     *
     * copy file 1 to file2 and invert lower with upper ( and viceversa )
     *
     *
     */

    #include <ctype.h>
    #include <fcntl.h>
    #include <sys/types.h>
    #include <sys/stat.h>
    #include <unistd.h>
    #include <stdlib.h>
    #include <st***.h>

    #define READBYTES 100


    int main int numero_argchar ** nome_arg ) {
        
        
    int fd,fd2,n,status,i;
        
    void buf;
        
    char punt;
        
        
    /////////////////////////// allocazione buffer temporano di swap tra read e write
        
    buf malloc (READBYTES);
        if ( 
    buf == NULL){
            
            
    fprintf(stderr,"Impossibile completare l'operazione\n");
            exit(-
    6);
        }
        
        
        if ( (
    fd open (*(nome_arg 1),O_RDONLY)) >= ){
            
            
    fd2 open (*(nome_arg 2),O_WRONLY O_TRUNC); // apertura file
            
            
    if (fd2 0) { // se non presente
                
                
    fprintf(stdout,"File destinazione non presente. Creazione in corso ..\n"); // crealo
                
    fd2 open (*(nome_arg 2),O_CREAT O_WRONLYS_IRWXU);
                
            }
            
            for (
    n=read (fdbufREADBYTES);n>0;n=read (fdbufREADBYTES)) {
            
                
    punt = (char *) buf;
                
    ////////////////////////////////////////////// verifica se minuscolo o maiuscolo
                
    for (i=0;i<n;i++){
                    if (
    islower(*(punt i))){
                        *(
    punt i) = toupper (*(punt i));
                    } else {
                        *(
    punt i) = tolower (*(punt i));
                    }
                }
                
                
    status write fd2bufn); /////////////// scrittura valori nel nuovo file
                
    if ( status n){
                    
                    
    fprintf(stderr"Errore di scrittura\n");
                    exit(-
    5);
                }
            }
            
            
    fprintf(stdout,"Conversione completata\n");
            
            
        } else {
            
            
    fprintf(stdout,"File di origine non esistente\n");
            exit(-
    2);
            
        }
        
        return 
    0;

    | VFX Artist, C++ Programmer, HW Overclocker | Web: xgiovio.com Email: xgiovio@gmail.com Twitter: @xgiovio
Working...
X

Google Profile


My name is Giovanni Di Grezia, but people call me xgiovio.

Here is my homepage:.

I'm a VFX Artist and Software Developer.

Giovanni Di Grezia