des résultats de methode incohérents
Bonjour, :D
J'ai un résultat de la méthode find qui me correspond pas à mon attente.
J'ai le code :
Code:
1 2
| mpos = wsChunk.find( L"or +APC or ");
pos = wsChunk.find( L"+APC or "); |
et avec la donnée wsChunk = {"+APC or "}
je récupère mpos = 0 et pos = 0
J'attedais mpos = -1 et pos = 0
et avec le code
Code:
1 2
| mpos = wsChunk.find( L"OFF or +APC or ");
pos = wsChunk.find( L"+APC or "); |
avec la donnée wsChunk = {", either OFF or +APC or +DEM "}
J'attendais mpos = 10 et j'obtiens mpos = -1
qui m'aidera sera :ccool;
Je reviens et je détaille la soulution
J'ai du étendre l'interface pour prendre en compte le besoin:
Code:
1 2 3
| pos = wsChunk.find( L"+APC or ");
pos1 = wsChunk.find( L"or +APC or ");
pos2 = wsChunk.find( L"door"); |
avec cette implémentation j'ai pos = 16 et pos2 = 16 ce qui est incohérent
j'ai donc modifié les variables por tourner ce problème
Code:
1 2 3
| pos = wsChunk.find( L"+APC or ");
pos1 = wsChunk.find( L"or +APC or ");
pos4 = wsChunk.find( L"door"); |
ce qui semble marcher.
il y a une autre incohérence qui résiste
Bonjour :D
il y a une autre incohérence qui résiste
je vous met le code
Code:
1 2
| wsNewWord = (wchar_t*)pWord->wsWord.c_str();
b3 = wcscmp( wsNewWord, L"or"); |
avec les valeurs suivantes :
pWord->wsWord = {"closure"}
wsNewWord = 0x07CABBC8 "closure"
b3 = true ce qui est incohérent
J'ai essayé avec b5: même résultat
La Solution que j'ai fait
bonjour,
J'ai mis un bool initialisé quand il le faut pour doubler la solution:
Code:
1 2 3 4 5 6 7
| wsNewWord = (wchar_t*)pWord->wsWord.c_str();
b1 = pWord->POS == POS_STOPMARK;
wsNewWord = (wchar_t*)pWord->wsWord.c_str();
pos6 = wcscmp( wsNewWord, L",");
b0 = ( pos6 != -1 && bWisComma == true);
pos3 = wcscmp( wsNewWord, L"or");
b2 = ( pos3 != -1 && bWisPivot == true); |