[ad_1]
لدي هذه السلسلة:
T;150;;cha;;22052024;Glo snc;;;;
لا بد لي من رمزية ولكن السلسلة الأولى هي T، ثم 150 ثم تشا،
لكن انا اريد:
T 150 وسلسلة فارغة وليس تشا.. كيف يجب أن أفعل؟
كتبت:
CString strToken = str_line.Tokenize(_T(";"), nTokenPos); strToken = str_line.Tokenize(_T(";"), nTokenPos);
ما حاولت:
حاولت استخدام هذا الرمز لكنه لا يقرأ سلسلة فارغة ..
الحل 1
ربما نلقي نظرة هنا.
كيفية تحليل الرموز الفارغة باستخدام CString::Tokenize()[^]
الحل 2
الحل البسيط هو كتابة وظيفتك الخاصة التي تتعرف أيضًا على الرموز الفارغة. يمكن أن يبدو مثل هذا:
سي ++
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]
コメント