_snscanf, _snscanf_l, _snwscanf, _snwscanf_l
Считывает данные из строки форматировал указанной длины.Более безопасные версии этих функций доступны; см. _snscanf_s, _snscanf_s_l, _snwscanf_s, _snwscanf_s_l.
int __cdecl _snscanf(
const char * input,
size_t length,
const char * format,
...
);
int __cdecl _snscanf_l(
const char * input,
size_t length,
const char * format,
locale_t locale,
...
);
int __cdecl _snwscanf(
const wchar_t * input,
size_t length,
const wchar_t * format,
...
);
int __cdecl _snwscanf_l(
const wchar_t * input,
size_t length,
const wchar_t * format,
locale_t locale,
...
);
Параметры
input
Входная строка для проверки.length
Число символов, которое необходимо проверить in input.format
Одного или нескольких описателей формата.... (optional)
Переменные, которые будут использоваться для хранения значений могут из входной строки форматирования внутри описателями format.locale
Языковой стандарт, который необходимо использовать.
Возвращаемое значение
Обе эти функции возвращают количество успешно преобразованных и присвоенных полей; возвращаемое значение не содержит поля, которые были считаны, но не присвоены.Возвращаемое значение 0 указывает на отсутствие поля не присвоены.Возвращаемое значение EOF для ошибок или если достигнут конец строки перед первым преобразованием.Дополнительные сведения см. в разделе sscanf.
If input OR format a NULL указатель или length меньше или равно нулю, недопустимый параметр вызван обработчик, как описано в разделе Проверка параметров.Если выполнение может быть продолжено, то эти функции возвращают EOF и errno В EINVAL.
Дополнительные сведения об этих и других кодах ошибок см. в разделе _doserrno, errno, _sys_errlist и _sys_nerr.
Заметки
эта функция как sscanf за исключением того, что он предоставляет возможность задать фиксированное число символов для анализа входной строки.Дополнительные сведения см. в разделе sscanf.
Версии этих функций с _l суффикс идентичны за исключением того, что они используют параметр, переданный вместо языкового стандарта текущего языкового стандарта потока.
Сопоставления подпрограммы Родов-Текста
Подпрограмма Tchar.h |
Не указанные _UNICODE и _MBCS |
Указанный символ _MBCS |
Указанный _UNICODE |
---|---|---|---|
_sntscanf |
_snscanf |
_snscanf |
_snwscanf |
_sntscanf_l |
_snscanf_l |
_snscanf_l |
_snwscanf_l |
Требования
Процедура |
Обязательный заголовок |
---|---|
_snscanf, _snscanf_l |
<stdio.h> |
_snwscanf, _snwscanf_l |
<stdio.h> OR <wchar.h> |
Дополнительные сведения о совместимости см. Совместимость во введении.
Пример
// crt_snscanf.c
// compile with: /W3
#include <stdio.h>
int main( )
{
char str1[] = "15 12 14...";
wchar_t str2[] = L"15 12 14...";
char s1[3];
wchar_t s2[3];
int i;
float fp;
i = _snscanf( str1, 6, "%s %f", s1, &fp); // C4996
// Note: _snscanf is deprecated; consider using _snscanf_s instead
printf("_snscanf converted %d fields: ", i);
printf("%s and %f\n", s1, fp);
i = _snwscanf( str2, 6, L"%s %f", s2, &fp); // C4996
// Note: _snwscanf is deprecated; consider using _snwscanf_s instead
wprintf(L"_snwscanf converted %d fields: ", i);
wprintf(L"%s and %f\n", s2, fp);
}
Эквивалент в .NET Framework
Неприменимо. Для c# используйте стандартная функция PInvoke. Дополнительные сведения см. в разделе Примеры вызовов неуправляемого кода.