Tokenisasikan string dengan string kosong

pemrograman


Saya memiliki string ini:

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

Saya harus memberi token tetapi string pertama adalah T, lalu 150 dan kemudian cha,
Tapi aku ingin:

T 150 dan string kosong dan bukan cha..bagaimana yang harus saya lakukan?

saya menulis:

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

Apa yang saya coba:

Saya mencoba menggunakan kode ini tetapi tidak membaca string kosong..

Solusi 1

Solusi 2

Solusi sederhana adalah dengan menulis fungsi Anda sendiri yang juga mengenali token kosong. Ini bisa terlihat seperti ini:

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;
}

コメント

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