uint64_t 配列を char の配列に解析しようとしました (結果は 10 進数で、コンマで区切られています)。
ランダムな値を取得するたびに、memcpy を使用しました。iota() 関数は uint32_t の最大値を変換します。uint64_t を 2 つの uint32_t に分けようとしましたが、正しい結果が得られません。
uint64_t numbers[10] = { 201234567890123456,
12345678901234567890,
98765432109876543,
65432109887,
12345234512345,
217631276371261627,
12354123512453124,
2163521442531,
2341232142132321,
1233432112 };
char array[1000] = "";
期待される結果:
array = "201234567890123456,12345678901234567890,98765432109876543,65432109887,12345234512345,217631276371261627,12354123512453124,2163521442531,2341232142132321,1233432112"
このトピックから int64ToChar を試しましたが、結果は次のとおりです。
void uint64ToChar(char a[], int64_t n) {
memcpy(a, &n, 10);
}
uint64_t number = 12345678900987654;
char output[30] = "";
uint64ToChar(output, number);
Result:
�g]T�+
助けてくれてありがとう。