【发布时间】:2018-12-27 04:40:37
【问题描述】:
给出以下示例。
我通过在每个字符的数字表示中添加一个秘密数字来对字符串进行编码。
A -> 41 = 65 + secret
B -> 42 = 66 + secret
1 -> 31 = 49 + secret
2 -> 32 = 50 + secret
and so on
所以结果会有几个数字。我可以使用
打印它们for(int i=0; i<len; i++) {
int e = ( (int)caracter + pub ) % mod;
printf("%d ", e);
}
但是我怎样才能将所有这些数字添加到一个字符串中,例如
123465 123466 123449 123450
谢谢
【问题讨论】:
-
结合
sprintf和strcat,或者sprintf和strlen,可以做你想做的事。 -
您需要认识到的是,ASCII 为本质上是一个字节(两个十六进制数字)的值提供了一个单一的字符表示。出于输出目的,您可能希望为每个字符输出 2 位十六进制值。简单地将编码字符串视为 unsigned char 数组很方便。 (这就是加密程序处理问题的方式)