खाली स्ट्रिंग के साथ एक स्ट्रिंग को टोकनाइज़ करें


मेरे पास यह स्ट्रिंग है:

T;150;;cha;;22052024;Glo snc;;;;

मुझे टोकनाइज़ करना है लेकिन पहली स्ट्रिंग टी है, फिर 150 और फिर चा,
पर मेरी चाह थी:

टी 150 और खाली स्ट्रिंग और चा नहीं..मुझे कैसे करना चाहिए?

मैंने लिखा:

CString strToken = str_line.Tokenize(_T(";"), nTokenPos);
strToken = str_line.Tokenize(_T(";"), nTokenPos);

मैंने क्या प्रयास किया है:

मैंने इस कोड का उपयोग करने का प्रयास किया लेकिन यह खाली स्ट्रिंग नहीं पढ़ता है..

समाधान 1

समाधान 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;
}

コメント

タイトルとURLをコピーしました