【发布时间】:2022-11-28 16:48:09
【问题描述】:
我正在处理一些执行 RC4 加密算法的代码,其中一些参数传递给函数。从那里我试图将生成的哈希附加到一个空字符串,但我的几次尝试都失败了。我见过 snprintf() 的用法,但我如何才能转换下面的代码以将打印的内容保存到字符串中呢?
for (size_t i = 0, len = strlen(plaintext); i < len; i++) {
printf("|x%02hhx| ", hash[i]);
}
【问题讨论】:
-
snprintf()有什么问题?唯一的区别是您指定了缓冲区和大小。 -
我猜我在附加要保存的字符串时遇到了问题。我在循环
std::string stored_text = ""外声明了我的空字符串,在我的循环内我尝试附加字符串stored_text += snprintf(buffer, size, "%02hhx", hashtext[index]); -
@aaries 尝试从缓冲区构造一个字符串并连接,类似于
stored_text += std::string(buffer)在调用snprintf之后。 -
@aaries
snprintfreturn 是什么?鉴于此,将整数附加到字符串上是否有意义?数据在缓冲区中,所以你不应该追加那个缓冲区吗? -
@Rulle 非常感谢!这正是我要找的!
标签: c++