gpt4 book ai didi

c - 将格式化的打印值存储在新变量中

转载 作者:行者123 更新时间:2023-11-30 19:14:16 25 4
gpt4 key购买 nike

在加密函数(sha256)中,我有以下代码用于打印最终结果:

void print_hash(unsigned char hash[]) 
{
int idx;
for (idx=0; idx < 32; idx++)
printf("%02x",hash[idx]);
printf("\n");
}

当函数中输入哈希时,类似于:

/A�`�}#.�O0�T����@�}N�?�#=\&@

然后,通过循环,我在控制台中进入了这个

182f419060f17d2319132eb94f30b7548d81c0c740977d044ef1edbb9b97233d

我想知道如何将控制台中的最终值存储在变量中。我读过一些有关 sscanf 的内容,但是你能帮助我吗?

最佳答案

您可以使用sprintf将其存储在数组中(通过指针传递参数):

void print_hash(unsigned char hash[], unsigned char output[])
{
int idx;
for (idx = 0; idx < 32; idx++)
sprintf(&output[2 * idx], "%02x", hash[idx]);
}

请务必在输出中为空终止符保留一个额外的字节(即char output[2 * 32 + 1])。

关于c - 将格式化的打印值存储在新变量中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34400292/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com