我有一个这样的字符
char buff[1024]
然后我在那个buff里有很多东西。但我想要这些之后的一切\r\n\r\n
所以如果 char 看起来像这样
"asdfEianfd\r\n\r\ndsakfmagnrgsginagres"
我想收到输出
dsakfmagnrgsginagres
好吧,这并不是真正的 C++ 方式,因为您已经将它放在一个char
数组中,但无论如何还是让我们以 C 风格来做吧:
const char* phrase = "\r\n\r\n";
char *remain = strstr(buff, phrase);
if( remain != NULL ) remain += strlen(phrase);
现在,如果找到了换行模式,remain
现在将指向您要查找的文本的开头。如果未找到该模式,remain
则为 NULL。
这只会找到模式 ( ) 的第一次出现"\r\n\r\n"
并返回后面的所有内容。如果你真的想拉出线,你将不得不手动进行前向搜索和标记化,或者查看类似的东西strtok
(这有点过于简化了)。