Chapter Contents |
Previous |
Next |
vsscanf |
Portability: | C99 |
SYNOPSIS | |
DESCRIPTION | |
RETURN VALUE | |
IMPLEMENTATION | |
EXAMPLE | |
RELATED FUNCTIONS | |
SEE ALSO |
SYNOPSIS |
#include <stdarg.h> #include <lcio.h> int vsscanf( const char *source, const char *format, va_list arg );
DESCRIPTION |
vsscanf
reads formatted
input text from the string addressed by source
.
No file input is performed. Following the format in the argument list is
a pointer to a list of arguments, designated by arg
,
of type va_list
as defined in the header <stdarg.h>
.
The string pointed to by format
is in
the same form as that used by fscanf
. See the fscanf
description for detailed information concerning the
formatting conventions.
RETURN VALUE |
vfscanf
returns EOF
if end of file (or an input error) occurs before any
values
are stored. If values are stored, it returns the number of items stored; that
is, the number of times a value is assigned to a member of the variable argument
list.
IMPLEMENTATION |
vsscanf
is functionally
equivalent to sscanf
, except that the argument
list has been replaced by a variable argument list, va_list
, as defined in the header <stdarg.h>
.
EXAMPLE |
#include <stdarg.h> #include <lcio.h> #include <stdlib.h> int DoScan(const char *s, const char *fmt, ...); static char *lines[] = { "147.8 pounds\n", "51.7 miles\n", "4.3 light-years\n", "10000 volts\n", "19.5 gallons\n", "" }; int main() { int i; float amount; char unit[20]; int count; for (i = 0 ;; i++) { count = DoScan(lines[i], "%f %s", &amount, unit); if (count == EOF) break; if (count < 2) { puts("Unexpected error in input data."); exit(EXIT_FAILURE); } printf("amount = %.1f, units = \"%s\"\n", amount, unit); } exit(EXIT_SUCCESS); } int DoScan(const char *s, const char *fmt, ...) { int n = 0; va_list args; va_start(args, fmt); n = vsscanf(s, fmt, args); va_end(args); return n; }
RELATED FUNCTIONS |
vsprintf
, sscanf
, va_arg
,
va_start
, va_end
SEE ALSO |
Chapter Contents |
Previous |
Next |
Top of Page |
Copyright © 2004 by SAS Institute Inc., Cary, NC, USA. All rights reserved.