0
文字列ポインタを変換しようとしています(文字列^文字列ポインタですか?)を2桁の16進数文字列に変換しようとしています。
私は、sprintfを利用して16進値をバッファに出力し、それをhexdump char配列secretHexにコピーすることで作業しています。
しかし、char配列をStringに変換することができませんでした。変換された文字列をprintfしようとすると 'True'と表示されます。
誰かが最後に何が起こっているのか考えてもらえますか?
私は最初のString^secretKeyとして結果のhexを出力することができます。
ありがとうございます!文字列を16進文字列に変換する
String^ secretKey = "1122334455667788";
printf("1. %s\n", secretKey);
int n = 0;
char buffer1[17], buffer2[3], secretHex[33];
sprintf_s(buffer1, "%s", secretKey);
while (n < sizeof(buffer1) - 1) {
char value = buffer1[n];
sprintf_s(buffer2, "%02x", value);
secretHex[2 * n] = buffer2[0];
secretHex[2 * n + 1] = buffer2[1];
n++;
}
secretHex[sizeof(secretHex)-1] = '\0';
printf("The secretHex key is %s\n", secretHex);
String^ hex = System::Convert::ToString(secretHex);
printf("2. %s\n", hex);
//OUTPUT
1. 1122334455667788
The secretHex key is 31313232333334343535363637373838
2. True
これはC++ではありません –
私はそれにどのような言語でタグを付ける必要がありますか?私は他の人の仕事を基盤にしており、主にC++について研究してきました。ありがとう! –
Stringを使用する理由^はString ^オブジェクトを取り込み、変換のために戻っています。今はCのような言語で本当に錆びています。長い間それに触れていない。 –