_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. Дополнительные сведения см. в разделе Примеры вызовов неуправляемого кода.

См. также

Ссылки

спецификация ширины scanf