Exportar (0) Imprimir
Expandir todo
and
div
eof
not
or
xor
Expandir Minimizar
Este artículo proviene de un motor de traducción automática. Mueva el puntero sobre las frases del artículo para ver el texto original. Más información.
Traducción
Original

_snscanf_s, _snscanf_s_l, _snwscanf_s, _snwscanf_s_l

Lee dio formato datos de una longitud especificada de una cadena. Estas versiones de _snscanf, _snscanf_l, _snwscanf, _snwscanf_l tienen mejoras de seguridad, como se describe en Características de seguridad de CRT.

int __cdecl _snscanf_s(
   const char * input,
   size_t length,
   const char * format,
   ...
);
int __cdecl _snscanf_s_l(
   const char * input,
   size_t length,
   const char * format,
   locale_t locale,
   ...
);
int __cdecl _snwscanf_s(
   const wchar_t * input,
   size_t length,
   const wchar_t * format,
   ...
);
int __cdecl _snwscanf_s_l(
   const wchar_t * input,
   size_t length,
   const wchar_t * format,
   locale_t locale,
   …
);

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.

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_s, _sscanf_s_l, swscanf_s, _swscanf_s_l.

Si input o format es un puntero NULL, se invoca el controlador de parámetros no válidos, 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.

Esta función es como sscanf_s 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_s, _sscanf_s_l, swscanf_s, _swscanf_s_l.

El parámetro de tamaño de búfer se requiere con escribir caracteres de campo c, C, s, S, y [. Para obtener más información, vea scanf (Caracteres de campo de tipo).

Nota Nota

El parámetro de tamaño es del tipo unsigned, no size_t.

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_s

_snscanf_s

_snscanf_s

_snwscanf_s

_sntscanf_s_l

_snscanf_s_l

_snscanf_s_l

_snwscanf_s_l

Rutina

Encabezado necesario

_snscanf_s , _snscanf_s_l

<stdio.h>

_snwscanf_s , _snwscanf_s_l

<stdio.h> o <wchar.h>

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

// crt_snscanf_s.c
// This example scans a string of 
// numbers, using both the character
// and wide character secure versions
// of the snscanf function.

#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_s( str1, 6,  "%s %f", s1, 3, &fp);
    printf_s("_snscanf_s converted %d fields: ", i);
    printf_s("%s and %f\n", s1, fp);

    i = _snwscanf_s( str2, 6,  L"%s %f", s2, 3, &fp);
    wprintf_s(L"_snwscanf_s converted %d fields: ", i);
    wprintf_s(L"%s and %f\n", s2, fp);
}
los _snscanf_s convirtieron 2 campos: 15 y 12,000000
los _snwscanf_s convirtieron 2 campos: 15 y 12,000000

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.

Adiciones de comunidad

AGREGAR
Mostrar:
© 2014 Microsoft