Internationalization and localization tools


String Format Function

int sscanf(const char *buffer, const char *format [, argument ]...);

int swscanf(const wchar_t *buffer, const wchar_t *format [, argument ]...);

int _stscanf(const TCHAR *buffer, const TCHAR *format [, argument ]...);

Internationalization (I18n) Function Overview

The sscanf function reads input from buffer into the locations given by argument, under the control of the format specification. The number of converted and assigned fields is returned, or EOF in the event of an error. The behavior of sscanf is undefined if copying takes place between strings that overlap.

swscanf is the wide character version of sscanf; its arguments are wide-character strings.

_stscanf is the Windows-only Generic version of the function; with the _MBCS or _UNICODE compiler flags determining its mapping to either sscanf or swscanf.

I18n Issues

Use the appropriate version of the function as required for internationalization support, noting the following:

Prior to calling one of these functions, ensure that the current locale is set properly by calling setlocale, as string formatting is dependent on the LC_NUMERIC locale category. See String Formatting in C and C++ for a discussion on locale-sensitive formatting in internationalized applications.

sscanf does not support multibyte hexadecimal characters.

swscanf does not support Unicode fullwidth hexadecimal characters or characters in the "compatibility zone" which is the range 0xF900 through 0xFFEF.

Recommended Replacements*

*If you're already using the recommended function, see I18n Issues for other reasons why Globalyzer is detecting the function.

String Format Functions

 

Lingoport internationalization and localization services and software