资源简介
嵌入式开发时经常要用到字符串转换函数sprintf,但标准C函数库非常占内存,重写更高效更精简的sprintf函数,比C标准库里自带的sprintf更高效,适用于嵌入式或上位软件开发。
代码片段和文件信息
#include
static void t_printchar(char **str int c)
{
extern int putchar(int c);
if (str) {
**str = c;
++(*str);
}
else (void)putchar(c);
}
#define PAD_RIGHT 1
#define PAD_ZERO 2
static int t_prints(char **out const char *string int width int pad)
{
register int pc = 0 padchar = ‘ ‘;
if (width > 0) {
register int len = 0;
register const char *ptr;
for (ptr = string; *ptr; ++ptr) ++len;
if (len >= width) width = 0;
else width -= len;
if (pad & PAD_ZERO) padchar = ‘0‘;
}
if (!(pad & PAD_RIGHT)) {
for ( ; width > 0; --width) {
t_printchar (out padchar);
++pc;
}
}
for ( ; *string ; ++string) {
t_printchar (out *string);
++pc;
}
for ( ; width > 0; --width) {
t_printchar (out padchar);
+
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 3753 2012-07-11 13:02 t_sprintf.c
----------- --------- ---------- ----- ----
3753 1
评论
共有 条评论