にバイナリデータを追加し、私は次のデータを取り込むにしたい出力evbufferありますC&Libevent:出力バッファ
HTTP/1.1 200 OK
Date: Tue, 06 Dec 2011 10:35:08 GMT
Server: Apache/2.2.14 (Ubuntu)
X-Powered-By: PHP/5.3.2-1ubuntu4.9
Vary: Accept-Encoding
Content-Encoding: gzip
Content-Length: 48
Content-Type: text/html
��(�ͱ���I�O����H�����ч��
�4�@�
を私はevbuffer_add_printf(...)
を使用していた、
私は、次のCコールバックを持っています機能:
static void echo_read_cb(struct bufferevent *bev, void *ctx){
/* This callback is invoked when there is data to read on bev. */
struct evbuffer *input = bufferevent_get_input(bev);
struct evbuffer *output = bufferevent_get_output(bev);
...
char* response=NULL;
response=applyGetReq(url,data,len);
int contLen=0;
contLen=getContentLength(response);
char* binData=strstr(response,"\r\n\r\n");
binData=binData+strlen("\r\n\r\n");
fwrite(binData,sizeof(char),contLen,stdout);
printf("\n");
evbuffer_add_printf(output,"%s",binData); //I want to print binData as binary, not printf!!!
}
だから私はバイナリデータポインタ(BINDATA)を持っていると私は長さ(contLen)を持っているが、どのように私はこれは、出力バッファに印刷できますか?
多くのおかげで、事前に
本当に便利なスニペット。それに感謝しています。 – Eamorr
これは、 'evbuffer_add'自体のソースコードであり、使用例ではありません。ドキュメントを見つけるよりも、私がlibeventのソースを読む方が簡単でした。 – osgx
はい、最初はスニペットだと思っていましたが、あなたのリンクから、それがソースコードそのものであることがわかりました。どうもありがとう。 – Eamorr