_strdate、_wstrdate
現在のシステム日付をバッファーにコピーします。 これらの関数のセキュリティを強化したバージョンについては、「_strdate_s、_wstrdate_s」を参照してください。
char *_strdate(
char *datestr
);
wchar_t *_wstrdate(
wchar_t *datestr
);
template <size_t size>
char *_strdate(
char (&datestr)[size]
); // C++ only
template <size_t size>
wchar_t *_wstrdate(
wchar_t (&datestr)[size]
); // C++ only
パラメーター
- datestr
格納するバッファーへのポインター書式設定された日付文字列。
戻り値
これらの関数は、結果の文字列 datestrへのポインターを返します。
解説
これらの関数のセキュリティが強化されたバージョンを使用して; _strdate_s、_wstrdate_sを参照してください。 より安全な関数を使用することをお勧めします。
_strdate 関数は datestr、書式設定された mm/dd/yyが指すバッファーに mm は月を表す 2 桁の数値の場合、現在のシステム日付を dd です日を表す 2 桁の数値 yy コピーし、年の最後の 2 桁です。 たとえば、文字列 12/05/99 は 1999 年 12 月 5 日を表します。 バッファーの長さは少なくとも 9 バイト必要です。
datestr が NULL ポインターの場合は、「パラメーターの検証」に説明されているように、無効なパラメーター ハンドラーが呼び出されます。 実行の継続が許可された場合、これらの関数は -1 を返し、errno を EINVAL に設定します。
ワイド文字を扱う場合は、_strdate ではなく _wstrdate を使用します。_wstrdate の場合、引数にはワイド文字列を指定します。また戻り値もワイド文字列です。 それ以外では、これらの関数の動作は同じです。
C++ では、これらの関数にテンプレートのオーバーロードがあります。このオーバーロードは、これらの関数に対応するセキュリティで保護された新しい関数を呼び出します。 詳細については、「セキュリティ保護されたテンプレート オーバーロード」を参照してください。
汎用テキスト ルーチンのマップ
TCHAR.H のルーチン |
_UNICODE & _MBCS が未定義の場合 |
_MBCS が定義されている場合 |
_UNICODE が定義されている場合 |
---|---|---|---|
_tstrdate |
_strdate |
_strdate |
_wstrdate |
必要条件
ルーチン |
必須ヘッダー |
---|---|
_strdate |
<time.h> |
_wstrdate |
<time.h または> wchar.h <> |
互換性の詳細については、「C ランタイム ライブラリ」の「互換性」を参照してください。
使用例
// strdate.c
// compile with: /W3
#include <time.h>
#include <stdio.h>
int main()
{
char tmpbuf[9];
// Set time zone from TZ environment variable. If TZ is not set,
// the operating system is queried to obtain the default value
// for the variable.
//
_tzset();
printf( "OS date: %s\n", _strdate(tmpbuf) ); // C4996
// Note: _strdate is deprecated; consider using _strdate_s instead
}
同等の .NET Framework 関数
参照
関連項目
ctime、_ctime32、_ctime64、_wctime、_wctime32、_wctime64