C ++在char中的特定行之后读取所有内容

时间:2013-05-17 00:31:09

标签: c++ char

我有像这样的字谜

    char buff[1024]

然后我在那个buff中有很多东西。但我希望在这些\ r \ n \ r \ n

之后的所有内容

所以如果char看起来像这样

    "asdfEianfd\r\n\r\ndsakfmagnrgsginagres"

我想收到输出

    dsakfmagnrgsginagres

1 个答案:

答案 0 :(得分:1)

嗯,这不是真正的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的内容(这有点过于简化了)。