在C/C++中,是否有任何内置函数可用两个定界符字符串之间的两个get字符串?
我的输入看起来像
_STARTDELIMITER_0_192.168.1.18_STOPDELIMITER_
我的输出应该是
_0_192.168.1.18_
提前致谢...
最佳答案
您可以这样做:
string str = "STARTDELIMITER_0_192.168.1.18_STOPDELIMITER";
unsigned first = str.find(STARTDELIMITER);
unsigned last = str.find(STOPDELIMITER);
string strNew = str.substr (first,last-first);
考虑到您的
STOPDELIMITER
分隔符只会在末尾出现一次。编辑:
由于分隔符可能会出现多次,因此将查找STOPDELIMITER的语句更改为:
unsigned last = str.find_last_of(STOPDELIMITER);
尽管它们会重复多次,但是这将使您在第一个STARTDELIMITER和LAST STOPDELIMITER之间输入文本。