3

次の問題があります: .csv ファイルから WinCC 変数を読み込みました。これで、IP アドレスを含む文字列ができました。次のようになります。I0043CTRL/CALH1$ST$Beh$stVal;Len=4;MMSType=133;Flag=RW

この例の住所は ですI0043

ここで、住所の後の文字列を切り取りたいのですが、たとえばI0043PROT/....

たとえば getline にさまざまな記号で終了するように指示する可能性はありますか? お気に入り:getline(tmp_stringstream,tmp_string, 'C' || 'P');

ありがとうございました

パトリック

4

3 に答える 3

1

boost::split必要なことを行います:http ://www.boost.org/doc/libs/1_53_0/doc/html/string_algo/usage.html#idp163440592

std::string mystring("asd,ff.erw qewr");
std::vector<std::string> tokens;
boost::split( tokens, mystring, boost::is_any_of(",.-/ ") );
于 2013-03-06T07:29:59.587 に答える
0

Cランタイムライブラリには、文字列トークナイザー関数strtok(include <string.h>)があります。

C ++ランタイムには、同等のstd :: strtok(<cstring>を含む)があります。

于 2013-03-06T07:39:30.700 に答える