第七章 抽象IO / 7.4.1 mem bio

              #include <stdio.h>

              #include <openssl/bio.h>

                    

              int     main()

              {

                BIO     *b=NULL;

          int     len=0;

                char    *out=NULL;

 

               b=BIO_new(BIO_s_mem());

len=BIO_write(b,"openssl",4);

len=BIO_printf(b,"%s","zcp");

len=BIO_ctrl_pending(b);

out=(char *)OPENSSL_malloc(len);

len=BIO_read(b,out,len);

OPENSSL_free(out);

BIO_free(b);

return 0;

              }

              说明:

              b=BIO_new(BIO_s_mem());生成一个mem类型的BIO

              len=BIO_write(b,"openssl",7);将字符串"openssl"写入bio

              len=BIO_printf(b,"bio test",8);将字符串"bio test"写入bio

              len=BIO_ctrl_pending(b);得到缓冲区中待读取大小。

              len=BIO_read(b,out,50);bio中的内容写入out缓冲区。