[C] parser les entêtes de mail... regex ?

parser les entêtes de mail... regex ? [C] - C - Programmation

Marsh Posté le 07-04-2007 à 18:00:35    

hey tous :)
 
j'aimerai parser les entete d'un mail en C (TO:, From:, etc, les choses basiques)
 
je suis tenté d'utiliser la librairie regex GNU, mais à par checker si mon texte correspond bien a un pattern ou a extraire une donnée (du genre To: .* <.*> ),
je ne viois pas comment récupérer seulement le sujet, le destinataire, etc...  
 
j'obtien par exemple: "Subject: ceci est un test", mais j'aimerai garder seulement "ceci est un test"
 
je ne vois pas comment faire du remplacement alors encore moins du back reference...
 
 
help please !
 
merci :)


---------------
Blog photo/récits activités en montagne http://planetcaravan.net
Reply

Marsh Posté le 07-04-2007 à 18:00:35   

Reply

Marsh Posté le 08-04-2007 à 14:41:12    

zecrazytux a écrit :

hey tous :)
 
j'aimerai parser les entete d'un mail en C (TO:, From:, etc, les choses basiques)
 
je suis tenté d'utiliser la librairie regex GNU, mais à par checker si mon texte correspond bien a un pattern ou a extraire une donnée (du genre To: .* <.*> ),
je ne viois pas comment récupérer seulement le sujet, le destinataire, etc...  
 
j'obtien par exemple: "Subject: ceci est un test", mais j'aimerai garder seulement "ceci est un test"
 
je ne vois pas comment faire du remplacement alors encore moins du back reference...
 
 
help please !
 
merci :)


 
Perso moi je ferais ça en awk ou en shell qui sont plus spécialement adaptés à ce genre de manip.
 
Sinon, ben la bonne vieille méthode. Avec un "while (fgets())" tu récupères une ligne, puis il te faut parser la ligne avec des strstr ou strtok_r ou strchr ou autres outils de recherche, puis faire ton algo puis passage à la ligne suivante...


---------------
Vous ne pouvez pas apporter la prospérité au pauvre en la retirant au riche.
Reply

Marsh Posté le 08-04-2007 à 17:44:11    

merci de ta réponse :)
huhu j'aurai bien fais du sed ou awk si j'avais pu le faire en shell/bash
 
mail il me faut impérativement du C et multiplateforme
 
j'ai donc opté pour la lib regex PCRE qui rox ;)
en 30 lignes j'ai ma fonction qui parse suivant le texte et le pattern fournis en arguments, donc c'est parfait ;)


---------------
Blog photo/récits activités en montagne http://planetcaravan.net
Reply

Marsh Posté le 09-04-2007 à 20:06:42    

zecrazytux a écrit :

huhu j'aurai bien fais du sed ou awk si j'avais pu le faire en shell/bash
mail il me faut impérativement du C et multiplateforme


Bon, c'est un inconvénient mais dis-toi que ça aurait pu être pire => on aurait pu te l'imposer en assembleur...
 

zecrazytux a écrit :

j'ai donc opté pour la lib regex PCRE qui rox ;)
en 30 lignes j'ai ma fonction qui parse suivant le texte et le pattern fournis en arguments, donc c'est parfait ;)


Tant mieux  :sol:  


---------------
Vous ne pouvez pas apporter la prospérité au pauvre en la retirant au riche.
Reply

Marsh Posté le 09-04-2007 à 22:53:18    

erf l'ASM gné heuuu :grut: j'ai plus que du mal là pour le coup :D


---------------
Blog photo/récits activités en montagne http://planetcaravan.net
Reply

Marsh Posté le 10-04-2007 à 12:54:10    

Franchement pour faire ce que tu veux faire, ça serait aussi bien à la main. Tu n'as besoin de regexp, tu veux juste détecter et traiter les lignes qui commencent par une chaine donnée. strncmp() fait ça très bien.

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed