Печать unsigned long long в ESP8266

Мне нужно напечатать переменную long long без знака:

unsigned long long t = 1559072327000ULL;

Я пробовал следующее:

Serial.println(t); // вызов перегруженного 'println(uint64_t&)' неоднозначен

char[18] buf;

sprintf(dt, 18, "%lu", t); // Выводит 4294165848

snprintf(dt, 18, "%lu", t); // Печатает 126

vsnprintf(dt, 18, "%lu", t); // невозможно преобразовать 'uint64_t {aka long long unsigned int}' в '__gnuc_va_list {aka __va_list_tag}'

Есть предложения?

, 👍3

Обсуждение

char[18] buf; <-- что это такое? Если вы собираетесь опубликовать код в своем вопросе, пожалуйста, не подделывайте код. Опубликуйте реальный код, который вы действительно пытались использовать., @AnT


1 ответ


Лучший ответ:

4

Хорошо, я понял... эта двойка напечатает правильное число:

sprintf(dt,"%llu", t);
snprintf(dt, 18, "%llu", t);
,