_cscanf, _cscanf_l, _cwscanf, _cwscanf_l

Lee datos con formato de la consola. Hay disponibles versiones más seguras de estas funciones; vea _cscanf_s, _cscanf_s_l, _cwscanf_s, _cwscanf_s_l.

Importante

Esta API no se puede usar en aplicaciones que se ejecutan en Windows en tiempo de ejecución.Para obtener más información, vea Funciones de CRT no admitidas con /ZW.

int _cscanf( 
   const char *format [,
   argument] ... 
);
int _cscanf_l( 
   const char *format,
   locale_t locale [,
   argument] ... 
);
int _cwscanf( 
   const wchar_t *format [,
   argument] ... 
);
int _cwscanf_l( 
   const wchar_t *format,
   locale_t locale [,
   argument] ... 
);

Parámetros

  • format
    Cadena de control de formato.

  • argument
    Parámetros opcionales.

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

Valor devuelto

Número de campos que se convirtieron y asignaron correctamente. El valor devuelto no incluye los campos que se leyeron pero no se asignaron. El valor devuelto es EOF para un intento de lectura al final del archivo. Esto puede tener lugar cuando la entrada de teclado se redirige en el nivel de la línea de comandos del sistema operativo. Un valor devuelto de 0 indica que no se ha asignado ningún campo.

Comentarios

La función _cscanf lee datos directamente de la consola en las ubicaciones especificadas por argument. La función _getche se utiliza para leer caracteres. Cada parámetro opcional debe ser un puntero a una variable con un tipo que se corresponda con un especificador de tipo en format. El formato controla la interpretación de los campos de entrada, y tiene la misma forma y función que el parámetro format de la función scanf. Si bien _cscanf suele repetir el carácter de entrada, no lo hace si la última llamada se hizo a _ungetch.

Esta función valida sus parámetros. Si format es NULL, se invoca el controlador de parámetros no válidos, como se describe en Validación de parámetros. Si la ejecución puede continuar, errno se establece en EINVAL y la función devuelve EOF.

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

_tcscanf

_cscanf

_cscanf

_cwscanf

_tcscanf_l

_cscanf_l

_cscanf_l

_cwscanf_l

Requisitos

Rutina

Encabezado necesario

_cscanf,_cscanf_l

<conio.h>

_cwscanf, _cwscanf_l

<conio.h> o <wchar.h>

Para obtener más información sobre compatibilidad, vea Compatibilidad.

Ejemplo

// crt_cscanf.c
// compile with: /c /W3
/* This program prompts for a string
 * and uses _cscanf to read in the response.
 * Then _cscanf returns the number of items
 * matched, and the program displays that number.
 */

#include <stdio.h>
#include <conio.h>

int main( void )
{
   int   result, i[3];

   _cprintf_s( "Enter three integers: ");
   result = _cscanf( "%i %i %i", &i[0], &i[1], &i[2] ); // C4996
   // Note: _cscanf is deprecated; consider using _cscanf_s instead
   _cprintf_s( "\r\nYou entered " );
   while( result-- )
      _cprintf_s( "%i ", i[result] );
   _cprintf_s( "\r\n" );
}

Entrada

1 2 3

Resultados

Enter three integers: 1 2 3
You entered 3 2 1

Vea también

Referencia

E/S de consola y de puerto

_cprintf, _cprintf_l, _cwprintf, _cwprintf_l

fscanf, _fscanf_l, fwscanf, _fwscanf_l

scanf_s, _scanf_s_l, wscanf_s, _wscanf_s_l

sscanf, _sscanf_l, swscanf, _swscanf_l