_strdate、_wstrdate
更新 : 2007 年 11 月
現在のシステム日付をバッファにコピーします。これらの関数のセキュリティを強化したバージョンについては、「_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 instead
}
OS date: 04/25/03
.NET Framework の相当するアイテム
参照
参照
ctime、_ctime32、_ctime64、_wctime、_wctime32、_wctime64