Pointers 如何使用内存BIO';读和写的指针是什么?

Pointers 如何使用内存BIO';读和写的指针是什么?,pointers,openssl,read-write,Pointers,Openssl,Read Write,首先,我像这样创建内存 BIO *mem = BIO_new(BIO_s_mem()); BIO_puts(mem, "Hello World\n"); BUF_MEM *bptr; BIO_get_mem_ptr(mem, &bptr); 然后像这样得到指针 BIO *mem = BIO_new(BIO_s_mem()); BIO_puts(mem, "Hello World\n"); BUF_MEM *bptr; BIO_get_mem_ptr(mem, &bptr);

首先,我像这样创建内存

BIO *mem = BIO_new(BIO_s_mem());
BIO_puts(mem, "Hello World\n");
BUF_MEM *bptr;
BIO_get_mem_ptr(mem, &bptr);
然后像这样得到指针

BIO *mem = BIO_new(BIO_s_mem());
BIO_puts(mem, "Hello World\n");
BUF_MEM *bptr;
BIO_get_mem_ptr(mem, &bptr);
我的疑问是,如何使用bptr指针进行书写和阅读?

这可能吗?

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*缓冲区上的包装器。您可以访问数据并执行读写操作(同时保持结构的长度和最大长度限制)。

请看