現在のシステム日付をバッファーにコピーします。 これらの関数は、「_strdate」で説明されているように、セキュリティが強化されたバージョンの _wstrdate、 です。
構文
errno_t _strdate_s(
   char *buffer,
   size_t size
);
errno_t _wstrdate_s(
   wchar_t *buffer,
   size_t size
);
template <size_t size>
errno_t _strdate_s(
   char (&buffer)[size]
); // C++ only
template <size_t size>
errno_t _wstrdate_s(
   wchar_t (&buffer)[size]
); // C++ only
パラメーター
buffer
書式付きデータの文字列を格納するバッファーへのポインター。
size
バッファーのサイズ (文字単位)。
戻り値
正常終了した場合は 0。 エラーが発生した場合、戻り値はエラー コードです。 エラー コードは ERRNO.H で定義されます。この関数によって生成される正確なエラーについては、下記の表をご覧ください。 エラー コードの詳細については、 errnoを参照してください。
エラー条件
buffer | 
size | 
返却 | 
              buffer の内容 | 
|---|---|---|---|
NULL | 
(任意) | EINVAL | 
変更されていません | 
              NULL ではない (有効なバッファーを指す) | 
0 | EINVAL | 
変更されていません | 
              NULL ではない (有効なバッファーを指す) | 
0 <size< 9 | 
EINVAL | 
空の文字列 | 
              NULL ではない (有効なバッファーを指す) | 
              size
              >= 9 | 
0 | コメントで指定されている書式設定の、現在の日付 | 
セキュリティ上の問題
              bufferに無効な NULL 以外の値を渡すと、size パラメーターが 9 より大きい場合、アクセス違反が発生します。
              sizeの実際のサイズより大きいbufferの値を渡すと、バッファー オーバーランが発生します。
解説
これらの関数には、セキュリティを強化したバージョンとして _strdate および _wstrdate があります。 
              _strdate_s関数は、現在のシステム日付を、bufferが指すバッファーにコピーします。 
              mm/dd/yy という形式になり、mm は 2 桁の月、dd は 2 桁の日、yy は西暦年の下 2 桁です。 たとえば、文字列 12/05/99 は、1999 年 12 月 5 日を表します。 バッファーの長さは 9 文字以上である必要があります。
ワイド文字を扱う場合は、_wstrdate_s ではなく _strdate_s を使用します。_wstrdate_s の場合、引数にはワイド文字列を指定します。また戻り値もワイド文字列です。 それ以外では、これらの関数の動作は同じです。
              bufferがNULL ポインターであるか、sizeが 9 文字未満の場合、無効なパラメーター ハンドラーが呼び出されます。 詳細については、 パラメーターの検証を参照してください。 実行の継続が許可された場合、これらの関数では -1 を返します。 バッファーがerrnoの場合、またはEINVALが 0 以下の場合は、NULLをsizeに設定します。 または、errnoが 9 未満の場合、ERANGEを size に設定します。
C++ では、これらの関数の使用がテンプレートのオーバーロードによって簡略化されます。 オーバーロードはバッファー長を自動的に推論できるため、 size 引数を指定する必要がなくなります。 また、セキュリティで保護されていない関数を、より新しいより安全な関数に自動的に置き換えることできます。 詳細については、「セキュリティ保護されたテンプレート オーバーロード」を参照してください。
これらの関数のデバッグ ライブラリ バージョンでは、最初にバッファーを 0xFE で埋めます。 この動作を無効にするには、_CrtSetDebugFillThreshold を使用します。
既定では、この関数のグローバル状態の適用対象は、アプリケーションになります。 この動作を変更するには、「CRT でのグローバル状態」を参照してください。
汎用テキスト ルーチン マッピング
| TCHAR.H のルーチン | 
              _UNICODE と _MBCS が定義されていない | 
              _MBCS が定義されている | 
              _UNICODE が定義されている | 
|---|---|---|---|
_tstrdate_s | 
_strdate_s | 
_strdate_s | 
_wstrdate_s | 
要件
| ルーチンによって返される値 | 必須ヘッダー | 
|---|---|
_strdate | 
<time.h> | 
_wstrdate | 
<time.h> または <wchar.h> | 
_strdate_s | 
<time.h> | 
例
              time の例を参照してください。
関連項目
              時間管理
              
              asctime_s, _wasctime_s
              
              ctime_s、 _ctime32_s、 _ctime64_s、 _wctime_s、 _wctime32_s、 _wctime64_s
              
              gmtime_s、 _gmtime32_s、 _gmtime64_s
              
              localtime_s、 _localtime32_s、 _localtime64_s
              
              mktime、 _mktime32、 _mktime64
              
              time、 _time32、 _time64
_tzset