【发布时间】:2013-02-20 21:16:27
【问题描述】:
我遇到了以下问题:
我从 .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 有
boost::split,它可以完全满足您的需求。据我所知,标准库没有这个功能,如果不能使用boost,就得自己实现了。 -
总是前 5 个字符吗?此外,
std::string::find_first_of将搜索字符串,直到找到与指定字符匹配的任何字符。 -
@PeterWood 不,不幸的是它并不总是这样,这就是为什么我更喜欢 us2012 的方法。