_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
Vea también
Referencia
ctime_s, _ctime32_s, _ctime64_s, _wctime_s, _wctime32_s, _wctime64_s
gmtime_s, _gmtime32_s, _gmtime64_s