sfscanf.c

来自「su 的源代码库」· C语言 代码 · 共 85 行

C
85
字号
/* Copyright (c) Colorado School of Mines, 2006.*//* All rights reserved.                       */#include	"sfhdr.h"/*	Read formated data from a stream****	Written by Kiem-Phong Vo.*/#if __STD_Cint sfscanf(Sfio_t* f, const char* form, ...)#elseint sfscanf(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 = (f && form) ? sfvscanf(f,form,args) : -1;	va_end(args);	return rv;}#if __STD_Cint sfvsscanf(const char* s, const char* form, va_list args)#elseint sfvsscanf(s, form, args)char*	s;char*	form;va_list	args;#endif{	Sfio_t	f;	if(!s || !form)		return -1;	/* make a fake stream */	SFCLEAR(&f,NIL(Vtmutex_t*));	f.flags = SF_STRING|SF_READ;	f.bits = SF_PRIVATE;	f.mode = SF_READ;	f.size = strlen((char*)s);	f.data = f.next = f.endw = (uchar*)s;	f.endb = f.endr = f.data+f.size;	return sfvscanf(&f,form,args);}#if __STD_Cint sfsscanf(const char* s, const char* form,...)#elseint sfsscanf(va_alist)va_dcl#endif{	va_list		args;	reg int		rv;#if __STD_C	va_start(args,form);#else	reg char*	s;	reg char*	form;	va_start(args);	s = va_arg(args,char*);	form = va_arg(args,char*);#endif	rv = (s && form) ? sfvsscanf(s,form,args) : -1;	va_end(args);	return rv;}

⌨️ 快捷键说明

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