[ad_1]
J’ai cette chaîne :
T;150;;cha;;22052024;Glo snc;;;;
Je dois tokeniser mais la première chaîne est T, puis 150 et ensuite cha,
Mais je veux:
T 150 et chaîne vide et pas cha..comment dois-je faire ?
J’ai écrit:
CString strToken = str_line.Tokenize(_T(";"), nTokenPos); strToken = str_line.Tokenize(_T(";"), nTokenPos);
Ce que j’ai essayé :
J’ai essayé d’utiliser ce code mais il ne lit pas la chaîne vide.
Solution 2
Une solution simple serait d’écrire votre propre fonction qui reconnaît également les jetons vides. Cela pourrait ressembler à ceci :
C++
CString MyTokenize(CString& source, const LPCWSTR& delimeter, int& first) { CString token; int count, end = source.Find(delimeter, first); if (end != -1) { count = end - first; token = source.Mid(first, count); first = end + 1; // next token } else { count = source.GetLength() - first; token = source.Mid(first, count); first = -1; // last token } return token; }
Solution 1
Jetez peut-être un œil ici.
Comment analyser des jetons vides à l’aide de CString :: Tokenize ()[^]
[ad_2]
コメント