[ad_1]
この文字列があります:
T;150;;cha;;22052024;Glo snc;;;;
トークン化する必要がありますが、最初の文字列は T、次に 150、次に Cha、
でも私はしたい:
T 150 と空の文字列であり、cha ではありません。どうすればよいですか?
私が書いた:
CString strToken = str_line.Tokenize(_T(";"), nTokenPos); strToken = str_line.Tokenize(_T(";"), nTokenPos);
私が試したこと:
このコードを使用しようとしましたが、空の文字列を読み取ることができません。
解決策 1
たぶんここを見てください。
CString::Tokenize() を使用して空のトークンを解析する方法[^]
解決策 2
簡単な解決策は、空のトークンも認識する独自の関数を作成することです。 次のようになります。
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; }
[ad_2]
コメント