_cscanf, _cscanf_l, _cwscanf, _cwscanf_l

Reads formattata i dati dalla console.Più versioni sicure di queste funzioni sono disponibili, vedere _cscanf_s, _cscanf_s_l, _cwscanf_s, _cwscanf_s_l.

Nota importanteImportante

Questa API non può essere utilizzata nelle applicazioni che vengono eseguite in Windows Runtime.Per ulteriori informazioni, vedere Funzioni CRT non supportate 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] ... 
);

Parametri

  • format
    Stringa di formato e di controllo.

  • argument
    Parametri facoltativi.

  • locale
    Le impostazioni locali da utilizzare.

Valore restituito

Il numero di campi che correttamente sono stati convertiti viene assegnato lo stato.Il valore restituito non include campi che sono stati letti ma non assegnato.Il valore restituito è EOF per un tentativo di leggere alla fine di un file.Ciò può verificarsi quando l'input della tastiera viene reindirizzato a livello del sistema operativo della riga di comando.Un valore restituito pari a 0 indica che non campo è stato assegnato.

Note

La funzione di _cscanf legge i dati direttamente dalla console in posizioni fornite da argument.La funzione di _getche viene utilizzata per leggere caratteri.Ogni parametro facoltativo deve essere un puntatore a una variabile con un tipo che corrisponde a un identificatore del tipo in format.I controlli del formato interpretazione dei campi di input e dispongono dello stesso form e del parametro di format per la funzione di scanf.Mentre _cscanf in genere è possibile visualizzare il carattere di input, non viene eseguita questa operazione se l'ultima chiamata ha a _ungetch.

Questa funzione convalida i parametri.Se il formato è NULL, il gestore non valido di parametro viene richiamato, come descritto in Convalida dei parametri.Se l'esecuzione può continuare, errno viene impostato su EINVAL e la funzione restituisce EOF.

Le versioni di queste funzioni con il suffisso _l sono identiche ad eccezione che utilizzano il parametro delle impostazioni locali passato in ingresso invece di utilizzare quelle del thread corrente.

Mapping di routine a Testo generico

TCHAR.H routine

_UNICODE e _MBCS non definiti

_MBCS definito

_UNICODE definito

_tcscanf

_cscanf

_cscanf

_cwscanf

_tcscanf_l

_cscanf_l

_cscanf_l

_cwscanf_l

Requisiti

Routine

Intestazione obbligatoria

_cscanf,_cscanf_l

<conio.h>

_cwscanf, _cwscanf_l

<conio.h> o <wchar.h>

Per ulteriori informazioni sulla compatibilità, vedere Compatibilità nell'introduzione.

Esempio

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

Input

1 2 3

Output

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

Vedere anche

Riferimenti

Console e porta I/O

_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