2013-04-10 49 views
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指針讀?
這是可能的..?

+0

看看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

回答

0

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 *緩衝區的包裝。您可以訪問數據並執行讀取和寫入操作(同時保持結構長度和最大值的限制)。