可以将无符号字符数组表示为字符串吗?如何将无符号字符数组转换为C中的十六进制字符串
当我搜索它,我发现只有memset()能够做到这一点(但字符)。 假设这不是正确的方法,有没有办法进行转换?
上下文:我试图存储密码散列函数的输出,这恰好是一个无符号字符数组。
例如:
unsigned char data[N]; ...
for(i=0;i<N;i++) printf("%x",data[i]);
我的目标是把数据表示为一个字符串(%S),而不是由每个元素访问它。因为我需要散列的输出作为字符串进一步处理。
谢谢!
它是什么试图实现?从表面上将数组转换为(char *)可以实现你所要求的 – forsvarir 2011-04-14 09:31:29
不是一个无符号的字符数组吗?我的意思是我没有意识到任何负面的ASCII值...... – 2011-04-14 09:32:43
另外,memset将缓冲区设置为提供的值,给定的次数,所以我无法真正了解这对您会有多大帮助...代码/伪代码示例可能有所帮助。 – forsvarir 2011-04-14 09:35:05