sprintf() 没有正确对齐

sprintf() does not align right

我正在使用带有 XC8 (2.10) 的 MPLAB 5.25 为 PIC18F42K47 编译程序。

我想打印右对齐到缓冲区,但输出总是左对齐。 这是我的代码:

uint8_t Str_1[10] = {0};
uint8_t Str_2[10] = {0};
uint8_t Str_3[10] = {0};

sprintf(Str_1, "%3.2f", 12.345);    // -> "12.35" 
sprintf(Str_2, "%04.2f", 2.345);    // -> "2.35"  
sprintf(Str_3, "% 3.1f", -123.4);   // -> "-123.4"

格式说明符在小数点左侧有一个 宽度 参数。此数字描述的是最小 总数 个字符,而不是小数点前的字符数。

sprintf(Str_1, "%8.3f", 12.345);    // -> "  12.345"