mirror of
https://github.com/DragonOS-Community/DragonOS.git
synced 2025-06-08 18:26:48 +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)
|
||||
digits = "0123456789abcdefghijklmnopqrstuvwxyz";
|
||||
|
||||
if(flags&LEFT)
|
||||
flags &= ~PAD_ZERO;
|
||||
// 设置填充元素
|
||||
pad = (flags & PAD_ZERO) ? '0' : ' ';
|
||||
|
||||
|
||||
sign = 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;
|
||||
|
||||
// 靠右对齐
|
||||
if (!(flags & LEFT))
|
||||
if (!(flags & (LEFT+PAD_ZERO)))
|
||||
while (field_width-- > 0)
|
||||
*str++ = pad;
|
||||
*str++ = ' ';
|
||||
|
||||
if (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)
|
||||
*str++ = digits[24]; //注意这里是英文字母O或者o
|
||||
|
||||
if(!(flags&LEFT))
|
||||
while(field_width-->0)
|
||||
*str++ = pad;
|
||||
while (js_num < precision)
|
||||
{
|
||||
--precision;
|
||||
|
Loading…
x
Reference in New Issue
Block a user