我正在寫一個字符串「123124125」轉換爲這樣的長度爲3的整數數組的程序:如何將字符串數字轉換爲int然後char?
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,然後繼續執行公式?
謝謝。非常感謝您的幫助。
我認爲你得到的數字是你想要的字符的數字表示。我對API不熟悉,但我會做一些非常簡單的事情,例如確認添加Convert :: ToChar(65)會產生預期的'a'字符。如果你沒有正確使用,你將無法調試其他任何東西。 – cyborg
我可能發現了這個問題,可能是這個公式: number [count] =(ciphertext [count1] * 100)+(ciphertext [count1 + 1] * 10)+ ciphertext [count1 + 2]; count ++; 字符串「123124125」,通過使用上面的公式,它不能得到int [0] = 123,int [1] = 124 int [2] = 125, 和我出來很多方式仍然無法工作,有人可以幫忙嗎? –