Comparer char * (strtok ) avec un string
Bonjour,
je cherche a lire des donnees dans un fichier XML.
J arrive a ouvrir et lire chaque ligne, mais je suis confrontee a un petit soucis lorsque je cherche a récupérer les données intéressantes dans ma ligne.
Ma ligne en question est:
<LV_FUNCTION_DATA ef='71' edv='94' esv='27' myomass='131' edvi='' esvi='' cardiacOutput='5.2' cardiacIndex='' dilation='1.02' peakFillingRate='3.26' peakEmptyingRate='3.11' oneThirdMeanFillingRate='0.90' timePeakFilling='194.39' timePeakEmptying='129.33' heartRate='79'>
Le but est de remplir un vecteur avec chaque valeur de paramètre, si celui ci est présent.
Pour cela, j ai ecrit le debut de fonction suivante:
Code:
1 2 3 4 5 6 7 8 9 10 11
| void LVFunctionDataCurves::getLVFunctionData(std::string currentLine)
{
_LVFunctionDataVec.clear();
char* lineChar = _strdup(currentLine.c_str());
char * pch;
pch = strtok (lineChar," =");
for (unsigned int i=0; i<30; i++) {
pch = strtok (NULL, " =");
std::cout << pch << std::endl;
.... |
pch prend donc successivement la valeur:
2012-03-20 12:39:46 Cout: ef
2012-03-20 12:39:46 Cout: '71'
2012-03-20 12:39:46 Cout: edv
2012-03-20 12:39:46 Cout: '94'
2012-03-20 12:39:46 Cout: esv
2012-03-20 12:39:46 Cout: '27'
2012-03-20 12:39:46 Cout: myomass
2012-03-20 12:39:46 Cout: '131'
...
Ensuite, ici, je voudrais tester si pch a la valeur "ef", ou "esv" ou ...
Mon problème est que je n arrive pas a "comparer" pch qui est un pointeur, avec le string "ef" ou "esv",...
Comment puis-je faire cela?
Merci d avance!