如何使用内存BIO的指针进行读写?

问题描述:

首先,我创建的内存BIO这样如何使用内存BIO的指针进行读写?

BIO *mem = BIO_new(BIO_s_mem()); 
BIO_puts(mem, "Hello World\n"); 

,并得到这样

BUF_MEM *bptr; 
BIO_get_mem_ptr(mem, &bptr); 

我怀疑的指针我如何编写和使用bptr指针读?
这是可能的..?

+0

看看https://*.com/questions/49036152/correct-way-to-write-and-read-a-null-terminated-string-with-an-openssl-memory-bi – 2018-02-28 22:09:35

BUF_MEM的定义如下:

typedef struct buf_mem_st BUF_MEM; 
struct buf_mem_st 
{ 
size_t length; /* current number of bytes */ 
char *data; 
size_t max; /* size of buffer */ 
}; 

你可以看到它基本上结束了的char *缓冲区的包装。您可以访问数据并执行读取和写入操作(同时保持结构长度和最大值的限制)。