Share via


_strdate_s, _wstrdate_s

Copie la fecha actual del sistema a un búfer.Éstas son versiones de _strdate, _wstrdate con mejoras de seguridad como se describe en Características de seguridad en 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

Parámetros

  • [out] buffer
    Un puntero a un búfer que se completará con la cadena de fecha con formato.

  • [in] numberOfElements
    Tamaño del búfer.

Valor devuelto

cero si correctamente.el valor devuelto es un código de error si hay un error.Los códigos de error se definen en ERRNO.H; vea la tabla siguiente para los errores exactos generados por esta función.Para obtener más información sobre los códigos de error, vea errno.

condiciones de error

buffer

numberOfElements

Return

Contenido de buffer

NULL

(ninguno)

EINVAL

no modificado

No NULL (del búfer válido)

0

EINVAL

no modificado

No NULL (del búfer válido)

0 < numberOfElements < 9

EINVAL

Cadena vacía

No NULL (del búfer válido)

numberOfElements >= 9

0

Fecha actual con formato como se especifica en las notas

problemas de seguridad

El paso de no un valor no válido de NULL para el búfer producirá una infracción de acceso si el parámetro de numberOfElements es mayor que 9.

Pasar valores para el tamaño que es mayor que el tamaño real de buffer dará lugar a la saturación del búfer.

Comentarios

estas funciones proporcionan versiones más seguras de _strdate y de _wstrdate.La función de _strdate_s copia la fecha actual del sistema en el búfer indicada por buffer, mmcon formato/dd/yy, donde dos dígitos mm que representan el mes, dd es dos dígitos que representan el día, y yy es los dos últimos dígitos del año.por ejemplo, la cadena 12/05/99 representa el 5 de diciembre de 1999.El búfer debe ser por lo menos de 9 caracteres.

_wstrdate_s es una versión con caracteres anchos de _strdate_s; el argumento y el valor devuelto de _wstrdate_s son cadenas de caracteres.Estas funciones se comportan exactamente igual de otra manera.

Si buffer es un puntero de NULL , o si numberOfElements es menos de 9 caracteres, se invoca el controlador no válido de parámetro, tal y como se describe en Validación de parámetros.Si la ejecución puede continuar, estas funciones devuelven -1 y errno establecido en EINVAL si el búfer es NULL o si numberOfElements es menor o igual que 0, o conjunto errno a ERANGE si es numberOfElements menos de 9.

En C++, mediante estas funciones es simplificado con sobrecargas de plantilla; las sobrecargas pueden deducir la longitud de búfer automáticamente (que elimina la necesidad de especificar un argumento de tamaño) y automáticamente pueden reemplazar anterior, funciones de no con sus más recientes, seguros homólogos.Para obtener más información, vea Sobrecargas de plantilla de seguridad.

Asignación rutinaria de texto genérico:

rutina de TCHAR.H

_UNICODE y _MBCS no definido

_MBCS definido

_UNICODE definido

_tstrdate_s

_strdate_s

_strdate_s

_wstrdate_s

Requisitos

rutina

Encabezado necesario

_strdate

<time.h>

_wstrdate

<time.h> o <wchar.h>

_strdate_s

<time.h>

Ejemplo

Vea el ejemplo para tiempo.

Equivalente en .NET Framework

System:: fecha y hora:: análisis

Vea también

Referencia

Administración de tiempo

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