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

📄 sfprintf.c

📁 su 的源代码库
💻 C
字号:
/* Copyright (c) Colorado School of Mines, 2006.*//* All rights reserved.                       */#include	"sfhdr.h"/*	Print data with a given format****	Written by Kiem-Phong Vo.*/#if __STD_Cint sfprintf(Sfio_t* f, const char* form, ...)#elseint sfprintf(va_alist)va_dcl#endif{	va_list	args;	reg int	rv;#if __STD_C	va_start(args,form);#else	reg Sfio_t*	f;	reg char*	form;	va_start(args);	f = va_arg(args,Sfio_t*);	form = va_arg(args,char*);#endif	rv = sfvprintf(f,form,args);	va_end(args);	return rv;}#if __STD_Cssize_t sfvsprintf(char* s, size_t n, const char* form, va_list args)#elsessize_t sfvsprintf(s, n, form, args)char*	s;size_t	n;char*	form;va_list	args;#endif{	Sfio_t	*f;	ssize_t	rv;	/* make a temp stream */	if(!(f = sfnew(NIL(Sfio_t*),NIL(char*),(size_t)SF_UNBOUND,                        -1,SF_WRITE|SF_STRING)) )		return -1;	if((rv = sfvprintf(f,form,args)) < 0 )		return -1;	if(s)	{	if(sfputc(f, 0) < 0)			return -1;		if(n > 0)			memcpy(s, f->data, rv < n ? rv+1 : n);	}	sfclose(f);	_Sfi = rv;	return rv;}#if __STD_Cssize_t sfsprintf(char* s, size_t n, const char* form, ...)#elsessize_t sfsprintf(va_alist)va_dcl#endif{	va_list	args;	ssize_t	rv;#if __STD_C	va_start(args,form);#else	reg char*	s;	reg size_t	n;	reg char*	form;	va_start(args);	s = va_arg(args,char*);	n = va_arg(args,size_t);	form = va_arg(args,char*);#endif	rv = sfvsprintf(s,n,form,args);	va_end(args);	return rv;}

⌨️ 快捷键说明

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