0

この特定の質問の重複は見つかりませんが、異なる言語には同様の質問があります。

区切り文字が 2 文字の文字列であるトークンに文字列を分割しようとしています。

私の質問は次のとおりです。 1. MSDN は、区切り文字として一連の文字を使用すると述べているため、_tcstok_s でそれを行うことは可能ですか?これらの文字のいずれかに一致しますか? 2. _tcstok_s で実行できない場合は、実行できる他の関数。私の文字列は TCHAR であり、組み込み関数を可能な限り使用したいと考えています。

ありがとう!

4

1 に答える 1

0

これを行う組み込み関数が見つかりませんでした。私は以下を使用しています、

TCHAR *str=TEXT("mango, banana, apple");

std::wstring paramStr(str);
std::wstring delimiter = L", ";
size_t pos = 0;
std::string token;

while ((pos = paramStr.find(delimiter)) != std::string::npos) {
    token = paramStr.substr(0, pos);
    std::cout << token << std::endl;
    paramStr.erase(0, pos + delimiter.length());
}

std::cout << paramStr << std::endl;
于 2015-04-09T10:20:01.740 に答える