C语言之sprintf使用总结

1、问题

在open ssl 里面输出16进制的随机数

uint8_t *client = NULL;

client = ssl->s3->client_random

for (int i = 0; i < 32; i++)

{

      printf("client_random is %02x\n", client[i]);

}

但是这样输出都是一个一个的打印,我需要连接在一起的字符串






2、解决办法

使用sprinf函数,基础太弱,一时想不起来,勿喷

uint8_t *client = NULL;
char result[256];
client = ssl->s3->client_random

for (int i = 0; i < 32; i++)

{
      sprintf(result + 2*i, "%02x", client[i]);
      printf("client_random is %02x", client[i]);

}
最后

printf("result is %s\n", result);

我一开始使用

std::string result = "";

for ( ...)

{

        result += client[i];

}



傻逼了呀。

你可能感兴趣的:(C&C++)