Я попытался разобрать массив uint64_t в массив символов char (результат в десятичном виде, разделенных запятой).
Я использовал 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 из this topi c, но результат:
void uint64ToChar(char a[], int64_t n) {
memcpy(a, &n, 10);
}
uint64_t number = 12345678900987654;
char output[30] = "";
uint64ToChar(output, number);
Result:
�g]T�+
Спасибо за любую помощь.