3
首先,我創建的內存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指針讀?
這是可能的..?
首先,我創建的內存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指針讀?
這是可能的..?
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 *緩衝區的包裝。您可以訪問數據並執行讀取和寫入操作(同時保持結構長度和最大值的限制)。
看看https://stackoverflow.com/questions/49036152/correct-way-to-write-and-read-a-null-terminated-string-with-an-openssl-memory-bi – 2018-02-28 22:09:35