📄 sfprintf.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 + -