Freigeben über


_cscanf, _cscanf_l, _cwscanf, _cwscanf_l

Liest formatierte Daten der Konsole.Sicherere Versionen dieser Funktionen sind verfügbar; finden Sie unter _cscanf_s, _cscanf_s_l, _cwscanf_s, _cwscanf_s_l.

Wichtiger HinweisWichtig

Diese API kann nicht in den Anwendungen verwendet werden, die in der Windows Runtime ausführen.Weitere Informationen finden Sie unter CRT-Funktionen unterstützt nicht mit /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] ... );

Parameter

  • format
    Formatsteuerzeichenfolge.

  • argument
    Optionale Parameter.

  • locale
    Das Gebietsschema zu verwenden.

Rückgabewert

Die Anzahl von Feldern, die erfolgreich konvertiert und zugewiesen wurden.Der Rückgabewert umfasst keine Felder, die gelesen wurden, jedoch nicht zugewiesen.Der Rückgabewert ist EOF für einen Versuch am Dateiende.Dies kann auftreten, wenn Tastatureingabe auf der Betriebssystembefehlszeilenebene umgeleitet wird.Ein Rückgabewert 0 bedeutet, dass keine Felder zugewiesen wurden.

Hinweise

Die _cscanf-Funktion liest Daten direkt aus der Konsole in die Speicherorte, die von argument angegeben werden.Die _getche-Funktion wird verwendet, um Zeichen zu lesen.Jeder optionale Parameter muss ein Zeiger auf eine Variable mit einem Typ sein, der einem Typspezifizierer in format entspricht.Die Formatkontrollen die Interpretation der Eingabefelder und haben die gleiche Form und Funktion wie der format-Parameter für die scanf-Funktion.Während _cscanf normalerweise das Eingabezeichen Echo, verwendet er nicht so, wenn der letzte Aufruf von _ungetch war.

Diese Funktion überprüft seine Parameter.Wenn Format NULL ist, wird der ungültige Parameterhandler aufgerufen, wie in Parametervalidierung beschrieben.Wenn die Ausführung zulässig ist, um fortzufahren, wird errno zu EINVAL festgelegt und die Funktion gibt EOF zurück.

Die Versionen dieser Funktionen mit dem _l Suffix sind identisch, allerdings verwenden den Gebietsschemaparameter in, der anstelle des aktuellen Threadgebietsschemas übergeben wird.

Zuordnung generische Textroutinen

TCHAR.H-Routine

_UNICODE und _MBCS nicht definiert

_MBCS definiert

_UNICODE definiert

_tcscanf

_cscanf

_cscanf

_cwscanf

_tcscanf_l

_cscanf_l

_cscanf_l

_cwscanf_l

Anforderungen

Routine

Erforderlicher Header

_cscanf,_cscanf_l

<conio.h>

_cwscanf, _cwscanf_l

<conio.h> oder <wchar.h>

Weitere Kompatibilitätsinformation finden Sie unter Kompatibilität in der Einführung.

Beispiel

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

Eingabe

1 2 3

Ausgabe

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

Siehe auch

Referenz

Konsole und Port E/A

_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