_cscanf、_cscanf_l、_cwscanf、_cwscanf_l_cscanf, _cscanf_l, _cwscanf, _cwscanf_l

コンソールから書式化されたデータを読み出します。Reads formatted data from the console. これらの関数のセキュリティを強化したバージョンを使用できます。「_cscanf_s、_cscanf_s_l、_cwscanf_s、_cwscanf_s_l」を参照してください。More secure versions of these functions are available; see _cscanf_s, _cscanf_s_l, _cwscanf_s, _cwscanf_s_l.

重要

この API は、Windows ランタイムで実行するアプリケーションでは使用できません。This API cannot be used in applications that execute in the Windows Runtime. 詳細については、「ユニバーサル Windows プラットフォーム アプリでサポートされていない CRT 関数」を参照してください。For more information, see CRT functions not supported in Universal Windows Platform apps.

構文Syntax

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] ...
);

パラメーターParameters

formatformat
書式指定文字列。Format-control string.

argumentargument
省略可能なパラメーター。Optional parameters.

localelocale
使用するロケール。The locale to use.

戻り値Return Value

正常に変換され、割り当てられたフィールドの数。The number of fields that were successfully converted and assigned. 戻り値には、読まれたが割り当てられなかったフィールドは含まれません。The return value does not include fields that were read but not assigned. 戻り値はEOFのファイルの末尾で読み取ろうとします。The return value is EOF for an attempt to read at end of file. これは、キーボード入力がオペレーティング システムのコマンド ラインのレベルでリダイレクトされる場合に発生します。This can occur when keyboard input is redirected at the operating-system command-line level. 戻り値が 0 の場合は、代入されたフィールドがなかったことを意味します。A return value of 0 means that no fields were assigned.

RemarksRemarks

_Cscanf関数で指定した位置に、コンソールから直接データを読み取ります引数します。The _cscanf function reads data directly from the console into the locations given by argument. _getche 関数は文字を読み取るために使用されます。The _getche function is used to read characters. 省略可能な各パラメーターに型指定子に対応する型の変数へのポインターをする必要があります形式します。Each optional parameter must be a pointer to a variable with a type that corresponds to a type specifier in format. 書式設定、入力の解釈のフィールドし、同じ形式し、機能、形式のパラメーター、 scanf関数。The format controls the interpretation of the input fields and has the same form and function as the format parameter for the scanf function. 中に _cscanf通常、入力文字をエコーする最後の呼び出しがあった場合、行われない _ungetchします。While _cscanf normally echoes the input character, it does not do so if the last call was to _ungetch.

この関数は、パラメーターを検証します。This function validates its parameters. 形式が場合NULLで説明されているとおり、無効なパラメーター ハンドラーが呼び出されますパラメーターの検証です。If format is NULL, the invalid parameter handler is invoked, as described in Parameter Validation. 続けるには、実行が許可された場合errnoに設定されているEINVAL 、関数を返しますEOFします。If execution is allowed to continue, errno is set to EINVAL and the function returns EOF.

これらの関数のバージョン、 _l現在のスレッド ロケールの代わりに渡されたロケール パラメーターを使用する点を除いて、サフィックスは同じです。The versions of these functions with the _l suffix are identical except that they use the locale parameter passed in instead of the current thread locale.

汎用テキスト ルーチンのマップGeneric-Text Routine Mappings

TCHAR.H のルーチンTCHAR.H routine _UNICODE および _MBCS が未定義の場合_UNICODE and _MBCS not defined _MBCS が定義されている場合_MBCS defined _UNICODE が定義されている場合_UNICODE defined
_tcscanf_tcscanf _cscanf_cscanf _cscanf_cscanf _cwscanf_cwscanf
_tcscanf_l_tcscanf_l _cscanf_l_cscanf_l _cscanf_l_cscanf_l _cwscanf_l_cwscanf_l

必要条件Requirements

ルーチンによって返される値Routine 必須ヘッダーRequired header
_cscanf_cscanf_l_cscanf, _cscanf_l <conio.h><conio.h>
_cwscanf_cwscanf_l_cwscanf, _cwscanf_l <conio.h> または <wchar.h><conio.h> or <wchar.h>

互換性の詳細については、「 互換性」を参照してください。For more compatibility information, see Compatibility.

Example

// 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" );
}
1 2 3
Enter three integers: 1 2 3
You entered 3 2 1

関連項目See also

コンソール入出力とポート入出力Console and Port I/O
_cprintf、_cprintf_l、_cwprintf、_cwprintf_l_cprintf, _cprintf_l, _cwprintf, _cwprintf_l
fscanf、_fscanf_l、fwscanf、_fwscanf_lfscanf, _fscanf_l, fwscanf, _fwscanf_l
scanf_s、_scanf_s_l、wscanf_s、_wscanf_s_lscanf_s, _scanf_s_l, wscanf_s, _wscanf_s_l
sscanf、_sscanf_l、swscanf、_swscanf_lsscanf, _sscanf_l, swscanf, _swscanf_l