如何将字符串数转换为int然后char?

时间:2013-05-20 08:02:25

标签: winforms visual-c++

我正在编写一个程序,将String“123124125”转换为长度为3的整数数组,如下所示:

int[0] = 123
int[1] = 124
int[2] = 125

让我们说密文字符串有123124125。

我用过:

int number[100];
int length1 = ciphertext-> Length;
int count = 0;
int count1 = 0;
char w[100];
while (count1 < length1)
{
    number[count] = (ciphertext[count1] * 100) + (ciphertext[count1 + 1] * 10) + ciphertext[count1 + 2];
    count++;
    count1 = count1 + 3;
}

然后我希望使用这个公式解密它并直接转换为字符串:

 for (int i = 0; i < sizeof(number); i++)
 {
     String ^ demessage += Convert::ToChar(number[i] ^ (int(key) * 2 + int(key) / int(key)) % 255);
 }

但它显示以下结果:

  

5553195195195195195195195195195195195195195195195195195195195195195195195195195195195195195195195195195195195195195195195195195195195195195195195195195195195195195195195195195195195195195195195195195195195195195195195195195195195195195195195195195195195195195195195195195195195195195195195195195195195195195195195195195195195195195195195195195195195195195195195195195195195195 -.................................... 1849664615

我哪里错了? 我是否需要先将int转换为char,然后继续使用公式?

感谢。非常感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

我是C#开发人员,因此语法可能有点不正确:

试试这个:

String ^ demessage = "";
for (int i = 0; i < sizeof(number); i++)
{
    demessage += number[i].ToString("000");
}

这样每个数字都转换为字符串表示。因此,值number[0]的{​​{1}}将转换为字符串123并添加到"123"