48 lines
620 B
C
48 lines
620 B
C
#include <stdio.h>
|
|
#include <varargs.h>
|
|
|
|
extern int _doscan();
|
|
|
|
/*VARARGS1*/
|
|
int
|
|
scanf(fmt, va_alist)
|
|
char *fmt;
|
|
va_dcl
|
|
{
|
|
va_list ap;
|
|
|
|
va_start(ap);
|
|
return(_doscan(stdin, fmt, ap));
|
|
}
|
|
|
|
/*VARARGS2*/
|
|
int
|
|
fscanf(iop, fmt, va_alist)
|
|
FILE *iop;
|
|
char *fmt;
|
|
va_dcl
|
|
{
|
|
va_list ap;
|
|
|
|
va_start(ap);
|
|
return(_doscan(iop, fmt, ap));
|
|
}
|
|
|
|
/*VARARGS2*/
|
|
int
|
|
sscanf(str, fmt, va_alist)
|
|
register char *str;
|
|
char *fmt;
|
|
va_dcl
|
|
{
|
|
va_list ap;
|
|
FILE strbuf;
|
|
|
|
va_start(ap);
|
|
strbuf._flag = _IOREAD;
|
|
strbuf._ptr = strbuf._base = (unsigned char*)str;
|
|
strbuf._cnt = strlen(str);
|
|
strbuf._file = _NFILE;
|
|
return(_doscan(&strbuf, fmt, ap));
|
|
}
|