共用方式為


_strdate_s _wstrdate_s

將目前的系統日期複製到緩衝區。 這些是舊版 _strdate、 _wstrdate 中所述的安全性增強功能與安全性功能,則在 CRT 中

errno_t _strdate_s(
   char *buffer,
   size_t numberOfElements
);
errno_t _wstrdate_s(
   wchar_t *buffer,
   size_t numberOfElements
);
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

參數

  • [out] buffer
    這將會填入在格式化的日期字串的緩衝區指標。

  • [in] numberOfElements
    緩衝區的大小。

傳回值

如果成功的話,則為零。 如果失敗,傳回的值會是一個錯誤碼。 錯誤代碼被定義在 ERRNO 中。H。 請參閱下表針對產生此函式的確切錯誤。 如需有關錯誤碼的詳細資訊,請參閱 errno

錯誤狀況

buffer

numberOfElements

Return

內容buffer

NULL

(任何)

EINVAL

不能修改

不NULL (指向有效的緩衝區)

0

EINVAL

不能修改

不NULL (指向有效的緩衝區)

0 < numberOfElements< 9

EINVAL

空字串

不NULL (指向有效的緩衝區)

numberOfElements> = 9

0

目前的日期格式化為指定 「 備註 」 中

安全性問題

傳遞無效的非NULL值的緩衝區當就會發生存取違規numberOfElements參數大於 9。

傳遞值的大小大於實際大小的buffer ,將會導致緩衝區滿溢的情況。

備註

這些函式會提供更安全版本的_strdate和_wstrdate。 _strdate_s函式所指向的緩衝區複製目前的系統日期buffer、 格式化過mm/dd/yy,其中mm兩個數字代表月份, dd兩個數字代表日期,以及yy是一年的最後二位數。 例如,字串12/05/99代表 1999 年 12 月 5 日。 緩衝區的大小必須至少 9 個字元。

_wstrdate_s寬字元版本的_strdate_s。 引數和傳回值的_wstrdate_s是寬字元字串。 這些函式具有相同其他方式作業。

如果buffer是NULL指標,或者如果numberOfElements會少於 9 個字元、 不正確的參數處理常式會叫用,如所述參數驗證。 如果執行,則允許繼續執行,這些函數會傳回-1 並設定errno到EINVAL如果緩衝區NULL或numberOfElements是否小於或等於 0 或一組errno到ERANGE如果numberOfElements少於 9。

在 C++ 中,使用這些函式已經過簡化的樣板的多載 ; 多載可以自動推斷緩衝區長度 (而不必指定 size 引數),它們可以自動取代較舊的、 不安全的函式與其較新的、 安全的對應項目。 如需詳細資訊,請參閱 安全範本多載

泛用文字常式對應:

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>

範例

請參閱範例的時間

.NET Framework 對等用法

System::DateTime::Parse

請參閱

參考

時間管理

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