c++ - 如何在各种标志处切断绳子

标签 c++ string getline

我遇到了以下问题: 我从 .csv 文件中读取了 WinCC 变量。现在有一个包含 ip 地址的字符串。它看起来像这样:I0043CTRL/CALH1$ST$Beh$stVal;Len=4;MMSType=133;Flag=RW

本例中的地址是I0043

现在我想截断地址后面的字符串,但是有更多可能的变量名称,例如 I0043PROT/...

是否有可能告诉例如 getline 在各种标志处结束? 比如:getline(tmp_stringstream,tmp_string, 'C' || 'P');

谢谢

帕特里克

最佳答案

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(",.-/ ") );

关于c++ - 如何在各种标志处切断绳子,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15241290/

相关文章:

mysql - 条件语句中的字符串解释

c++ - cudaMemcpyFromSymbol和cudaMemcpyToSymbol始终返回cudaErrorInvalidSymbol(13)错误

string - 为什么我的C程序打印这样?我不明白字符串是如何工作的吗?

c++ - 根据结尾类型对文件路径文件进行排序(超过 7000 行)

python - 仅将 Python 中字符串的首字母大写

c++ - 为什么 istream::getline() 返回这么多次(什么都没有)

c++ - 将字符串拆分为数组 C++

c++ - getline undefined .....读取多行

c++ - 重载解析 C 风格的字符串

c++ - g++ 编译器错误 : couldn't deduce template parameter ‘_Funct’