mirror of
https://github.com/DragonOS-Community/DragonOS.git
synced 2025-06-09 19:36:47 +00:00
🐛 修复了十六进制显示格式,填充不正确的问题
This commit is contained in:
parent
012948d345
commit
134692fa85
@ -402,9 +402,12 @@ static char *write_num(char *str, long long num, int base, int field_width, int
|
|||||||
if (flags & SMALL)
|
if (flags & SMALL)
|
||||||
digits = "0123456789abcdefghijklmnopqrstuvwxyz";
|
digits = "0123456789abcdefghijklmnopqrstuvwxyz";
|
||||||
|
|
||||||
|
if(flags&LEFT)
|
||||||
|
flags &= ~PAD_ZERO;
|
||||||
// 设置填充元素
|
// 设置填充元素
|
||||||
pad = (flags & PAD_ZERO) ? '0' : ' ';
|
pad = (flags & PAD_ZERO) ? '0' : ' ';
|
||||||
|
|
||||||
|
|
||||||
sign = 0;
|
sign = 0;
|
||||||
if (flags & SIGN && num < 0)
|
if (flags & SIGN && num < 0)
|
||||||
{
|
{
|
||||||
@ -448,9 +451,9 @@ static char *write_num(char *str, long long num, int base, int field_width, int
|
|||||||
field_width -= precision;
|
field_width -= precision;
|
||||||
|
|
||||||
// 靠右对齐
|
// 靠右对齐
|
||||||
if (!(flags & LEFT))
|
if (!(flags & (LEFT+PAD_ZERO)))
|
||||||
while (field_width-- > 0)
|
while (field_width-- > 0)
|
||||||
*str++ = pad;
|
*str++ = ' ';
|
||||||
|
|
||||||
if (sign)
|
if (sign)
|
||||||
*str++ = sign;
|
*str++ = sign;
|
||||||
@ -462,7 +465,9 @@ static char *write_num(char *str, long long num, int base, int field_width, int
|
|||||||
}
|
}
|
||||||
else if (base == 8)
|
else if (base == 8)
|
||||||
*str++ = digits[24]; //注意这里是英文字母O或者o
|
*str++ = digits[24]; //注意这里是英文字母O或者o
|
||||||
|
if(!(flags&LEFT))
|
||||||
|
while(field_width-->0)
|
||||||
|
*str++ = pad;
|
||||||
while (js_num < precision)
|
while (js_num < precision)
|
||||||
{
|
{
|
||||||
--precision;
|
--precision;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user