📄 sfscanf.c
字号:
/* 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 + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -