⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 sprintf.c

📁 操作系统SunOS 4.1.3版本的源码
💻 C
字号:
#ifndef lintstatic	char sccsid[] = "@(#)sprintf.c 1.1 92/07/30 SMI";#endif/* * Copyright (c) 1989 by Sun Microsystems, Inc. */#ifndef KADB/* * Simple sprintf.  No fixed-width field formatting. * Implements  %x %d %i %u %o %o %c %s */#include <varargs.h>#ifdef putchar# undef putchar#endif#define putchar(c) *sprintf_ptr++ = (c)char *sprintf_ptr;char digits[] = "0123456789abcdefghijklmnopqrstuvwxyz";putn(n, base, signed)    int n, base;    char signed;{    char prbuf[12];    register char *cp;    if (signed == 's' && n < 0) {	n = -n;	putchar('-');    }    cp = prbuf;    do {	    *cp++ = digits[n%base];	    n /= base;    } while(n);    do {	    putchar(*--cp);    } while(cp > prbuf);}sprintf(va_alist /* char *str, *fmt, arg0, arg1, ... */)    va_dcl{    va_list ap;    char *fmt;    char c, *p;    va_start (ap);    sprintf_ptr = va_arg(ap, char *);    fmt = va_arg(ap, char *);     for(;;) {	switch (c = *fmt++) {	    case '\0': putchar(c); return;	    case '%':		switch (c = *fmt++) {		    case '\0': putchar(c); return;		    case 'x': putn(va_arg(ap, int), 16, 'u'); break;		    case 'd': putn(va_arg(ap, int), 10, 's'); break;		    case 'i': putn(va_arg(ap, int), 10, 's'); break;		    case 'u': putn(va_arg(ap, int), 10, 'u'); break;		    case 'o': putn(va_arg(ap, int),  8, 'u'); break;		    case 'c': putchar(va_arg(ap, int));  break;		    case 's':			for (p = va_arg(ap, char *); c = *p++; )			   putchar (c);			break;		    default: putchar(c); break;		}		break;	    default: putchar(c); break;	}    }}#endif KADB

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -