文字列の一部として \r\n を含む入力文字列を変換する必要があります。たとえば、以下のように
\r\n Content-type: text/plain; charset=iso-8859-1 \r\n Subject: Test Subject \r\n\r\n Test Message
この文字列を HTTP Post データで送信するときに、\r\n をパーセンタイル エンコーディングに変換する必要があります。しかし、curl_easy_escape 関数を使用すると、\r\n が別の文字として認識され、正しくエンコードされません。したがって、このようなエラーを回避するには、上記の文字列の \r\n を改行と改行として変換して、curl_easy_escape() 関数によってバッファが正しく変換されるようにする必要があります。バッファーで sstream オブジェクト、sprintf、および sscanf を使用しようとしましたが (バッファーは std::string オブジェクトであるため)、あまり役に立ちませんでした。基本的には以下のようにバッファを変換したい
コンテンツ タイプ: テキスト/プレーン。charset=iso-8859-1 件名: テスト対象
テスト メッセージ
このバッファを curl_easy_escape に渡すと、適切にエンコードされます。したがって、この点に関する指針は非常に役立ちます。