separazione.c
codice:
#include <stdio.h>




#define LISTA_ISCC 'I'
#define LISTA_ISCE 'E'
#define INFO_PIANO 'P'
#define LUNGH_RIGA 200


int separazione(void){

                FILE * fp , * pfDati;
                char scelta;
                char p1[100] , p2[160] , p3[100], p4[100];
                char testo[LUNGH_RIGA];
                fp = fopen("./ricevuti.sms", "r");
                if (fp == NULL)
                    /*se il file dei messaggi non c'e' ritorna -1*/
                    return -1;

                while(fgets(testo , LUNGH_RIGA  , fp )){
                        sscanf(testo, "%s%s%s%s", p1 , p2 , p3 , p4);
                        scelta = p2[0];
                         switch(scelta){
                             case LISTA_ISCC:
                                     pfDati = fopen( "./file/listacorso.xml"  , "a+");
                                     fprintf(stderr  , "prova sono qua!!");
                                      fprintf(stderr  , "%s", p1);

                                     if(pfDati == NULL)
                                         fprintf(stderr  , "non si e' aperto il file!!");
                                     fprintf(pfDati , "<sms>\n<numero>%s</numero>\n<lista>%s</lista>\n<matricola>%s</matricola>\n<codice>%s</codice>\n </sms>\n" , p1  , p2 , p3  , p4 );
                             break;
                             case LISTA_ISCE:
                                pfDati = fopen( "./file/listesame.xml"  , "a+");
                                fprintf(pfDati , "<sms>\n<numero>%s</numero>\n<esame>%s</esame>\n<matricola>%s</matricola>\n<codice>%s</codice>\n </sms>\n" , p1  , p2 , p3  , p4 );
                             break;
                             case INFO_PIANO:
                                pfDati = fopen( "./file/infopiano.xml"  , "a+");
                                fprintf(pfDati , "<sms>\n<numero>%s</numero>\n<piano>%s</piano>\n<matricola>%s</matricola>\n<codice>%s</codice>\n </sms>\n" , p1  , p2 , p3  , p4 );
                             break;
                             default:
                                 pfDati = fopen( "./file/smsnnvalidi.xml"  , "a+");
                                 fprintf(pfDati , "<sms>\n<numero>%s</numero>\n<piano>%s</piano>\n<matricola>%s</matricola>\n<codice>%s</codice>\n </sms>\n" , p1  , p2 , p3  , p4 );
                            break;
                         }
                }
        return 0;  
}
separazione.h

int separazione(void);

rice.c
codice:
#include "separazione.h"
int main(void){

while(1)
    {
        
    
        separazione();
        sleep(60);
       
   }
    return 0;
}