Bonjour,

j'ai une chaine type :

nom-(val1,val2,val3)-[AAAA-MM-JJ-HH-MM-SS].extension

Je voudrais parser ce type de chaine en récupérant les valeurs, la dateheure et le nom du document.

J'ai une structure :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
 
struct ParseFile {
	char * fileName;
	char * fileNameOnly;
	char * listOfVal[256];
	char * fileDate;
};
Le but est de remplir cette structure avec :
filename = "nom-(val1,val2,val3)-[AAAA-MM-JJ-HH-MM-SS].extension"
fileNameOnly = "nom.extension"
listOfVal = [val1,val2,val3]
filedate = "AAAA-MM-JJ-HH-MM-SS"

Je connais la méthode strtok qui permet de parser une chaine. Le problème est qu'elle marche avec une liste de caractère comme délimiteur c'est à dire "-" et/ou "(" et/ou ... mais je ne peux pas lui donner une chaine comme délimiteur comme "-(" ou "-[".

Du coup je me dis qu'il faut parcourir ma chaine caractère par caractère en gardant en mémoire le caractère précédemment lu et si le caractère courant est égal à "(" ou "[" et que le précédent est égal à "-" alors je coupe.

Avez vous d'autres idées afin de parser au mieux ce type de chaine.

Merci par avance.