Работая над встроенным проектом, я заметил, что метод sprintf()
для следующего кода:
char ln2[16];
sprintf(ln2, "%f Volt", Data[Position].Voltage1);
генерирует знак вопроса в качестве вывода.
Вывод, сгенерированный изприведенный выше код:
? Volt
, в то время как ввод объявляется как double Voltage1 = 0.0;
Похоже, что та же проблема не возникает при попытке отформатировать целое число.
Следующее работает какожидается:
char ln1[16];
sprintf(ln1, "POSITION %d", (Position + 1));
и выводит POSITION 3
, где Position
является глобальной переменной и объявлен как int
.
Структура, которая фактически содержит данные:
struct data
{
int Position;
double Voltage1;
double Voltage2;
};
Все вышеизложенное при использовании расширений C / C ++ и Platform.io для VS Code.
Что здесь происходит не так?