_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.
Wichtig |
---|
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
_cprintf, _cprintf_l, _cwprintf, _cwprintf_l
fscanf, _fscanf_l, fwscanf, _fwscanf_l