scanf, wscanf (Windows CE 5.0)
Developing an Application > Microsoft C Run-time Library for Windows CE > Run-time Library Reference
Read formatted data from the standard input stream.
int scanf( const char*format [,argument]...
);int wscanf( const wchar_t*format [,argument]...
);
Parameters
- format
Format control string. - argument
Optional arguments.
Return Values
Both scanf and wscanf return the number of fields converted and assigned; the return value does not include fields that were read but not assigned.
A return value of 0 indicates that no fields were assigned.
The return value is EOF for an error or if the end-of-file character or the end-of-string character is encountered in the first attempt to read a character.
Remarks
The scanf function reads data from the standard input stream stdin and writes the data into the location given by argument.
Each argument must be a pointer to a variable of a type that corresponds to a type specifier in format.
If copying takes place between strings that overlap, the behavior is undefined.
wscanf is a wide-character version of scanf; the format argument to wscanf is a wide-character string. wscanf and scanf behave identically otherwise.
Generic-Text Routine Mappings
TCHAR.H Routine | _UNICODE Defined |
---|---|
_tscanf | wscanf |
For more information about TCHAR.H routines, see Generic Text Mappings.
For more information, see Format Specification Fields — scanf functions and wscanf Functions.
Example
/* SCANF.C: This program uses the scanf and wscanf functions
* to read formatted input.
*/
#include <stdio.h>
void main( void )
{
int i, result;
float fp;
char c, s[81];
wchar_t wc, ws[81];
printf( "\n\nEnter an int, a float, two chars and two strings\n");
result = scanf( "%d %f %c %C %s %S", &i, &fp, &c, &wc, s, ws );
printf( "\nThe number of fields input is %d\n", result );
printf( "The contents are: %d %f %c %C %s %S\n", i, fp, c, wc, s, ws);
wprintf( L"\n\nEnter an int, a float, two chars and two strings\n");
result = wscanf( L"%d %f %hc %lc %S %ls", &i, &fp, &c, &wc, s, ws );
wprintf( L"\nThe number of fields input is %d\n", result );
wprintf( L"The contents are: %d %f %C %c %hs %s\n", i, fp, c, wc, s, ws);
}
Output
Enter an int, a float, two chars and two strings
71
98.6
h
z
Byte characters
The number of fields input is 6
The contents are: 71 98.599998 h z Byte characters
Enter an int, a float, two chars and two strings
36
92.3
y
n
Wide characters
The number of fields input is 6
The contents are: 456 92.300003 y n Wide characters
Requirements
OS Versions: Windows CE 2.0 and later.
Header: stdlib.h.
Link Library: coredll.dll.
See Also
fscanf | printf | sprintf | sscanf
Send Feedback on this topic to the authors