salve a tutti 
dovrei realizzare due programmi...il primo dati 2 file uno di imput e uno di output analizza il file di imput e scrive sul file di output tutti gli indirizzi e-mail trovati(i quali devono essere privi di caratteri come ',' o ')' )
il file seguente è questo:
Partecipanti:
1. Andrea Rossi, FUll Professor of Computer Science
phone: +390432 55 5555, fax: +39 0432 55 5555
e-mail: Rossi@DIES.UNIXX:IT
2. Mario De Rossi, PhD, Assistant Professor, e-mail: derossi@unixx.com,
3. Serena Verdi, PhD Student in Computer Engineering
phone: +39 0432 55 5555, fax: +39 55 5555
(e-mail: s.verdi@unixx.it),
4. Tom Gialli, PhD Student in Computer Engineering
phone: +39 0432 55 5555, fax: +39 55 5555, e-mail: t.gialli@unixx.it
e questo è il codice che ho realizzato:
codice:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
char Restituisci_Mail(char stringa[])
{
int i;
for(i=strlen(stringa);i>=0;i--)
{
if((stringa[i]=='M')||(stringa[i]=='m')||(stringa[i]=='T')||(stringa[i]=='t'))
stringa[i+1]='\0';
}
return stringa; //quì mi da errore
}
int Stampa_Mail(char nome_file_in[20],char nome_file_out[20])
{
FILE *fp1;
FILE *fp2;
char stringa[20];
int i=0,j,n=0;
if((fp1=fopen(nome_file_in,"r"))==NULL)
{
printf("il file non può essere aperto");
exit(1);
}
else
fp2=fopen(nome_file_out,"w");
while((fscanf(fp1,"%s",stringa))!=EOF)
{
i=strlen(stringa);
for(j=0;j<i;j++)
{
if(stringa[i]=='@')
{
fprintf(fp2,"%s",Restituisci_Mail(stringa)); //quì mi da errore
n++;
}
i=0;
}
fclose(fp1);
fclose(fp2);
}
return n;
}
int main(int argc,char *argv[])
{
if(argc!=3)
{
printf("manca il nome del file");
exit(1);
}
printf("%d",Stampa_Mail(argv[1],argv[2]));
return 0;
}
la mia idea era quella di controllare le singole stringhe alla ricerca di '@' ma il compilatore mi da warning:format argument is not a pointer e return makes integer from pointer without a cast...se qualcuno ha qualche idea grazie mille
ah specifico che con il primo for intendo controllare quando tagliare la stringa con il '\0' e quindi certo t e m che stanno per .it e .com