我使用 MPLAB 5.25 和 XC8 (2.10) 为 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"
Run Code Online (Sandbox Code Playgroud)
格式说明符在小数点左侧有一个宽度参数。这个数字描述了最少的总字符数,而不是小数点前的字符数。
sprintf(Str_1, "%8.3f", 12.345); // -> " 12.345"
Run Code Online (Sandbox Code Playgroud)