在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之间输入文本。

10-06 01:42