Compartir a través de


_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 de 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

Devolución

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 anchos. Por lo demás, estas funciones se comportan exactamente igual.

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 numberOfElements es menor que 9.

En C++, el uso de estas funciones se simplifica con las sobrecargas de plantilla; las sobrecargas pueden realizar una inferencia automáticamente de la longitud de búfer (lo que elimina la necesidad de especificar un argumento de tamaño) y pueden reemplazar automáticamente funciones anteriores no seguras con sus homólogos seguros más recientes. Para obtener más información, vea Sobrecargas de plantilla seguras.

Asignación de rutina de texto genérico:

Rutina TCHAR.H

_UNICODE y _MBCS no definidos

_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::DateTime::Parse

Vea también

Referencia

Administración del 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