Compartir a través de


_snscanf, _snscanf_l, _snwscanf, _snwscanf_l

Lee dio formato datos de una longitud especificada de una cadena. Hay disponibles versiones más seguras de estas funciones; vea _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,
   ...
);

Parámetros

  • input
    Cadena de entrada a examinar.

  • length
    Número de caracteres a examinar en input.

  • format
    Uno o varios especificadores de formato.

  • ... (optional)
    Las variables que se usarán para almacenar los valores extrajeron de la cadena de entrada de los especificadores de formato en format.

  • locale
    Configuración regional que se va a usar.

Valor devuelto

Ambas funciones devuelven el número de campos convierten y asignados correctamente; el valor devuelto no incluye los campos que se leyeron pero no asignados. Un valor devuelto de 0 indica que no se ha asignado ningún campo. El valor devuelto es EOF en caso de error o si el final de la cadena se alcanza antes de la primera conversión. Para obtener más información, vea sscanf.

Si input o format es un puntero de NULL , o si length es menor o igual que cero, se invoca el controlador no válido de parámetro, tal y como se describe en Validación de parámetros. Si la ejecución puede continuar, estas funciones devuelven EOF y establecen errno en EINVAL.

Para obtener información sobre estos y otros códigos de error, vea _doserrno, errno, _sys_errlist y _sys_nerr.

Comentarios

Esta función es como sscanf salvo que proporciona la capacidad de especificar un número de caracteres fijo para examinar de la cadena de entrada. Para obtener más información, vea sscanf.

Las versiones de estas funciones con el sufijo _l son idénticas salvo que usan el parámetro locale pasado en lugar de la configuración regional del subproceso actual.

Asignaciones de rutina de texto genérico

Rutina Tchar.h

_UNICODE y _MBCS no definidos

_MBCS definido

_UNICODE definido

_sntscanf

_snscanf

_snscanf

_snwscanf

_sntscanf_l

_snscanf_l

_snscanf_l

_snwscanf_l

Requisitos

Rutina

Encabezado necesario

_snscanf, _snscanf_l

<stdio.h>

_snwscanf, _snwscanf_l

<stdio.h> o <wchar.h>

Para obtener más información de compatibilidad, vea Compatibilidad en la Introducción.

Ejemplo

// 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);
}
  

Equivalente en .NET Framework

No es aplicable Para llamar a la función estándar de C, use PInvoke. Para obtener más información, vea Ejemplos de invocación de plataforma.

Vea también

Referencia

scanf (Especificación de ancho)