double d = 3.3;
char str[50];
sprintf(str, " \t%f", d);
USBD_VCOM_SendString(str);
Требуется отправить двойной из моего μController на свой компьютер, но str всегда швы, чтобы быть пустым. Пробовал это с int тоже, и он работал нормально. Также не работает для float. Я использую компилятор ARM-GCC C.Невозможно преобразовать float или double в char array (sprintf)
Похоже, что форматирование чисел с плавающей запятой не реализовано в вашем CRT. –
Спасибо. Это звучит как большая проблема. Любые другие способы преобразования float или double в массив char? – Shilence
Я не совсем уверен, это просто _looks_ так. Изучите документацию и/или исходный код CRT, который должен быть доступен. –