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;
}