この形式のテキストを含む文字バッファがあります。
somecontent...boundary="abc_is_the_boundary"
content-length=1234
--abc_is_the_boundary
somecontent
--abc_is_the_boundary
このバッファはchar * buf
;に保存されます。
ここでの私の目的はabc_is_the_boundary
、この場合の境界値を特定し、その境界の下にあるバッファー内のすべての内容を関数に渡し、それを置き換える新しい文字列を取得することです。関数にも--abc_is_the_boundary
送信されます。
したがって、この場合、関数に渡されるバッファは次のようになります。
--abc_is_the_boundary
somecontent
--abc_is_the_boundary
処理後、それが戻ると言いますxyz
。
content-lengthが3に変更され、結果のバッファーは次のようになります。
somecontent...boundary="abc_is_the_boundary"
content-length=3
xyz
strstrを使用して境界値を識別できます。しかし、境界の最初のインスタンスと境界の最後のインスタンスを見つけるにはどうすればよいですか?境界は複数回存在する可能性がありますが、最初と最後だけを見つける必要があります。コンテンツの長さは、strstrを再度使用して変更し、特定の場所に移動して変更できます。それが最善の方法です。
ご理解いただけたでしょうか