📄 _printf_string.c
字号:
/* #include'd in _printf.c twice for AVR
* SPTR - pointer to the string to print
* STRLEN - strlen or cstrlen
*/
#if !defined(MINIMAL_PRINTF)
if (prec == -1)
prec = 0;
/* width is the total length of the output desired
* prec is the length of the string.
* First make width the length of the padding
*/
if (width)
width -= STRLEN(SPTR);
if (prec == 0)
prec = STRLEN(SPTR);
if (width && (flags & F_ADDSIGN))
width--;
/* zero padded,
* put sign character, then 0s
*/
if (flags & F_ZEROPADD)
{
if (flags & F_ADDSIGN)
PUT1CHAR(signch);
if (!(flags & F_LEFTALIGN))
while (width > 0)
{
PUT1CHAR('0');
width--;
}
}
/* space padded
* pad, then add sign character
*/
else
{
if (!(flags & F_LEFTALIGN))
while (width > 0)
{
PUT1CHAR(' ');
width--;
}
if (flags & F_ADDSIGN)
PUT1CHAR(signch);
}
/* now put the actual string */
while (*SPTR && prec--)
#else
if (signch == '-')
PUT1CHAR('-');
while (*SPTR)
#endif
{
PUT1CHAR(*SPTR);
SPTR++;
}
#if !defined(MINIMAL_PRINTF)
/* then pad if necessary */
if (flags & F_LEFTALIGN)
{
while (width > 0)
{
PUT1CHAR(' ');
width--;
}
}
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -