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 :
Le but est de remplir cette structure avec :
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; };
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.
Partager