[prog-it] Re: Mailreader, need help :-(

  • From: "andrea medeghini" <andreamedeghini@xxxxxxxxxxxxx>
  • To: <prog-it@xxxxxxxxxxxxx>
  • Date: Sat, 5 Jan 2002 17:59:50 +0100

> Albe ha scritto:
> > cioè in pratica si tratta di fare un parsing della stringa per estrarre
> > le varie sottostringhe?
>
> Si', ma ci sono vari problemi: il primo e' che non conosci a priori la
> lunghezza di una riga della mail, e per me e' gia' un problema leggerla
> dal file; le tre stringhe che devo avere alla fine vanno memorizzate in un
> array del tipo "char *row[3];", per poterle inserire nella lista a
> colonne, e ognuna di esse deve essere allocata e liberata dopo
> l'inserimento; inoltre non riesco a gestire le eccezioni come, ad esempio,
> i subject vuoti ("Subject: \n")...

provo a darti qualche idea (che potrebbe essere sbagliata)

alloca un buffer abbastanza grande
leggi dei caratteri fino a riempire il buffer
(se il messaggio termina prima di riempire il buffer
prendi nota di quanti caratteri hai messo nel buffer)

fai una scansione del buffer e individua i token
ovvero tutte le parole separate da uno spazio
e mettile in qualche struttura
se individui la fine di una riga cambia struttura

alla fine della scansione del messaggio avrai
tante strutture quante sono le righe e per
ogni riga un certo numero di token

a questo punto conoscendo come e' fatto un
messaggio interpreti i dati raccolti e gestisci
tutti i casi possibili

ciao_O

Andrea



Other related posts: