0

私はこのようなチャーを持っています

    char buff[1024]

それから私はそのバフにたくさんのものを持っています。しかし、これらの後のすべてが必要です \r\n\r\n

したがって、charが次のようになっている場合

    "asdfEianfd\r\n\r\ndsakfmagnrgsginagres"

出力を受け取りたい

    dsakfmagnrgsginagres
4

1 に答える 1

1

すでに配列にあるので、これは実際には C++ の方法ではありませんが、charとにかく C スタイルにしましょう。

const char* phrase = "\r\n\r\n";
char *remain = strstr(buff, phrase);
if( remain != NULL ) remain += strlen(phrase);

改行パターンが見つかったremain場合、探しているテキストの開始点を指すようになります。パターンが見つからなかった場合はremainNULL になります。

これは、パターン ( ) の最初の出現のみを検出し、その後の"\r\n\r\n"すべてを返します。実際に行を引き出したい場合は、前方検索を行って手動でトークン化するか、次のようなものを調べる必要がありますstrtok(これは少し単純化されすぎています)。

于 2013-05-17T00:35:30.107 に答える