Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Kopieer de huidige systeemdatum naar een buffer. Deze functies zijn versies van _strdate, _wstrdate met beveiligingsverbeteringen zoals beschreven in beveiligingsfuncties in de CRT.
Syntaxis
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
Parameterwaarden
buffer
Een aanwijzer naar een buffer om de opgemaakte datumtekenreeks te plaatsen.
size
Grootte van de buffer in tekeneenheden.
Retourwaarde
Nul als het lukt. De retourwaarde is een foutcode als er een fout optreedt. Foutcodes worden gedefinieerd in ERRNO. H; zie de onderstaande tabel voor de exacte fouten die door deze functie zijn gegenereerd. Zie voor meer informatie over foutcodes errno.
Foutvoorwaarden
buffer |
size |
Return | Inhoud van buffer |
|---|---|---|---|
NULL |
(any) | EINVAL |
Niet gewijzigd |
Niet NULL (wijzen naar een geldige buffer) |
0 | EINVAL |
Niet gewijzigd |
Niet NULL (wijzen naar een geldige buffer) |
0 <size< 9 |
EINVAL |
Lege tekenreeks |
Niet NULL (wijzen naar een geldige buffer) |
size
>= 9 |
0 | Huidige datum opgemaakt zoals opgegeven in de opmerkingen |
Beveiligingsproblemen
Als u een ongeldige, niet-NULL-waarde opgeeft buffer, resulteert dit in een toegangsfout als de size parameter groter is dan negen.
Een waarde doorgeven voor size meer dan de werkelijke grootte van buffer resultaten in een bufferoverschrijding.
Opmerkingen
Deze functies bieden veiligere versies van _strdate en _wstrdate. De _strdate_s functie kopieert de huidige systeemdatum naar de buffer waarnaar wordt verwezen buffer. Het is opgemaakt mm/dd/yy, waarbij mm de maand van twee cijfers is, dd de dag van twee cijfers is en yy de laatste twee cijfers van het jaar zijn. De tekenreeks 12/05/99 vertegenwoordigt bijvoorbeeld 5 december 1999. De buffer moet ten minste negen tekens lang zijn.
_wstrdate_s is een breedtekenversie van _strdate_s; het argument en de retourwaarde zijn _wstrdate_s tekenreeksen met brede tekens. Deze functies gedragen zich op dezelfde manier als anders.
Wanneer buffer is een NULL aanwijzer of size minder dan negen tekens, wordt de ongeldige parameterhandler aangeroepen. Deze wordt beschreven in parametervalidatie. Als uitvoering mag worden voortgezet, retourneren deze functies -1. Ze zijn ingesteld errno op EINVAL of de buffer kleiner is sizeNULL dan of gelijk is aan 0. Of ze zijn ingesteld errno op ERANGE als size ze kleiner zijn dan 9.
In C++wordt het gebruik van deze functies vereenvoudigd door overbelasting van sjablonen. De overbelastingen kunnen de bufferlengte automatisch afleiden, waardoor het niet meer nodig is om een size argument op te geven. En ze kunnen automatisch niet-beveiligde functies vervangen door hun nieuwere, veiligere tegenhangers. Zie Overbelasting van beveiligde sjablonen voor meer informatie.
De foutopsporingsbibliotheekversies van deze functies vullen eerst de buffer met 0xFE. Als u dit gedrag wilt uitschakelen, gebruikt u _CrtSetDebugFillThreshold.
De globale status van deze functie is standaard gericht op de toepassing. Als u dit gedrag wilt wijzigen, raadpleegt u de globale status in de CRT.
Algemene-tekstroutinetoewijzing
| TCHAR. H-routine |
_UNICODE en _MBCS niet gedefinieerd |
_MBCS Gedefinieerd |
_UNICODE Gedefinieerd |
|---|---|---|---|
_tstrdate_s |
_strdate_s |
_strdate_s |
_wstrdate_s |
Requirements
| Routine | Vereiste header |
|---|---|
_strdate |
<time.h> |
_wstrdate |
<time.h> of <wchar.h> |
_strdate_s |
<time.h> |
Example
Zie het voorbeeld voor time.
Zie ook
Tijdbeheer
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