_cgets_s、_cgetws_s
コンソールから文字列を取得します。_cgets と_cgetws これらのバージョンのに CRT のセキュリティ機能に説明されているように、のセキュリティが強化があります。
重要 |
---|
この API は Windows ランタイムで実行されるアプリケーションで使用することはできません。詳細については、でサポート /ZW CRT 関数" "を参照してください。 |
errno_t _cgets_s(
char *buffer,
size_t numberOfElements,
size_t *pSizeRead
);
errno_t _cgetws_s(
wchar_t *buffer
size_t numberOfElements,
size_t *pSizeRead
);
template <size_t size>
errno_t _cgets_s(
char (&buffer)[size],
size_t *pSizeRead
); // C++ only
template <size_t size>
errno_t _cgetws_s(
wchar_t (&buffer)[size],
size_t *pSizeRead
); // C++ only
パラメーター
[出力] buffer
データの格納場所。[入力] numberOfElements
また、読み取る最大文字数であるワイド文字、またはバイトのバッファーのサイズ。[入力] pSizeRead
実際に読み込まれた文字数。
戻り値
戻り値が成功した場合はゼロ。; それ以外の場合は。失敗した場合は、エラー コード。
エラー条件
buffer |
numberOfElements |
pSizeRead |
Return キー |
buffer の内容 |
---|---|---|---|---|
NULL |
任意 |
任意 |
EINVAL |
適用なし |
NULL 以外 |
0 |
任意 |
EINVAL |
変更されない |
NULL 以外 |
任意 |
NULL |
EINVAL |
長さ 0 の文字列 |
解説
_cgets_s と _cgetws_s は、コンソールから文字列を読み込み、bufferに文字列 (終端の null を含む) をコピーします。_cgetws_s は、関数のワイド文字バージョンです; 文字サイズ以外、この二つの関数の動作は同じです。読み取る numberOfElements のパラメーターとして文字列の最大サイズが渡されます。このサイズは終端の null 用の追加の文字が含まれる必要があります。実際に読み込まれた文字数は pSizeReadに設定されます。
操作でエラーがパラメーターまたはパラメーターの検証で発生した場合、無効なパラメーター ハンドラーが パラメーターの検証 に説明されているように、開始されます。実行の継続が許可 errno は EINVAL に設定され、EINVAL が返されます。
C++ では、これらの関数の使用はテンプレート オーバーロードによって簡素化されています; オーバーロードはバッファーの長さを、サイズ引数を指定する必要がなくなります自動的に推論、新しくセキュリティが強化された同等と自動的にセキュリティが弱い古い関数を置換できる場合。詳細については、「セキュリティ保護されたテンプレート オーバーロード」を参照してください。
汎用テキスト ルーチンのマップ
Tchar.h のルーチン |
_UNICODE および _MBCS が未定義の場合 |
_MBCS が定義されている場合 |
_UNICODE が定義されている場合 |
---|---|---|---|
_cgetts_s |
_cgets_s |
_cgets_s |
_cgetws_s |
必要条件
ルーチン |
必須ヘッダー |
---|---|
_cgets_s |
<conio.h> |
_cgetws_s |
<conio.h> か <wchar.h> |
互換性の詳細については、互換性を参照してください。
同等の .NET Framework 関数
該当なし標準 C 関数を呼び出すには、PInvoke を使用します。詳細については、「プラットフォーム呼び出しの例」を参照してください。