次の方法で共有


_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 バイト以上の長さである必要があります。

datestrNULL ポインターの場合、「パラメーターの検証で説明されているように、無効なパラメーター ハンドラーが呼び出されます。 実行の継続が許可された場合、これらの関数は -1 を返し、errnoEINVAL に設定します。

ワイド文字を扱う場合は、_wstrdate ではなく _strdate を使用します。_wstrdate の場合、引数にはワイド文字列を指定します。また戻り値もワイド文字列です。 それ以外では、これらの関数の動作は同じです。

C++ では、これらの関数にテンプレートのオーバーロードがあります。このオーバーロードは、これらの関数に対応するセキュリティで保護された新しい関数を呼び出します。 詳細については、「セキュリティ保護されたテンプレート オーバーロード」を参照してください。

既定では、この関数のグローバル状態の適用対象は、アプリケーションになります。 この動作を変更するには、「CRT でのグローバル状態」を参照してください。

汎用テキスト ルーチンのマップ

TCHAR.H のルーチン _UNICODE_MBCS が定義されていない _MBCS が定義されている _UNICODE が定義されている
_tstrdate _strdate _strdate _wstrdate

要件

ルーチンによって返される値 必須ヘッダー
_strdate <time.h>
_wstrdate <time.h> または <wchar.h>

互換性の詳細については、「 Compatibility」を参照してください。

// 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
}
OS date: 04/25/03

関連項目

時間管理
asctime, _wasctime
ctime_ctime32_ctime64_wctime_wctime32_wctime64
gmtime_gmtime32_gmtime64
localtime_localtime32_localtime64
mktime_mktime32_mktime64
time_time32_time64
_tzset