_strdate_s
, _wstrdate_s
Copia la fecha actual del sistema en un búfer. Estas funciones son versiones de _strdate
, _wstrdate
con mejoras de seguridad, como se describe en Características de seguridad de CRT.
Sintaxis
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
Parámetros
buffer
Puntero a un búfer para colocar la cadena de fecha con formato.
size
Tamaño del búfer en unidades de caracteres.
Valor devuelto
Cero si es correcta. Si se produce un error, el valor devuelto es un código de error. Los códigos de error se definen en ERRNO.H; consulte la tabla siguiente para ver los errores exactos generados por esta función. Para obtener más información sobre los códigos de error, vea errno
.
Condiciones del error
buffer |
size |
Return | Contenido de buffer |
---|---|---|---|
NULL |
(cualquiera) | EINVAL |
No modificado |
No es NULL (apunta al búfer válido) |
0 | EINVAL |
No modificado |
No es NULL (apunta al búfer válido) |
0 <size < 9 |
EINVAL |
Cadena vacía |
No es NULL (apunta al búfer válido) |
size >= 9 |
0 | Fecha actual con el formato especificado en la sección de comentarios |
Problemas de seguridad
Si pasa un valor no válido, distinto de NULL para buffer
, se produce una infracción de acceso si el size
parámetro es mayor que nueve.
Pasar un valor para size
mayor que el tamaño real de da como resultado una saturación del buffer
búfer.
Comentarios
Estas funciones proporcionan versiones más seguras de _strdate
y _wstrdate
. La _strdate_s
función copia la fecha actual del sistema en el búfer al que buffer
apunta . Tiene el formato mm/dd/yy
, donde mm
es el mes de dos dígitos, dd
es el día de dos dígitos y yy
son 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 tener una longitud mínima de nueve 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.
Cuando buffer
es un NULL
puntero o size
tiene menos de nueve caracteres, se invoca al controlador de parámetros no válidos. Se describe en Validación de parámetros. Si la ejecución puede continuar, estas funciones devuelven -1. Se establecen errno
en EINVAL
si el búfer es o si size
es NULL
menor o igual que 0. O bien, se establecen errno
en ERANGE
si size
es menor que 9.
En C++, las sobrecargas de plantilla simplifican el uso de estas funciones. Las sobrecargas pueden deducir automáticamente la longitud del búfer, lo que elimina la necesidad de especificar un size
argumento. Además, pueden reemplazar automáticamente las funciones no seguras por sus homólogas más recientes y seguras. Para obtener más información, consulte Sobrecargas de plantilla seguras.
Las versiones de la biblioteca de depuración de estas funciones rellenan primero el búfer con 0xFE. Para deshabilitar este comportamiento, use _CrtSetDebugFillThreshold
.
De manera predeterminada, el estado global de esta función está limitado a la aplicación. Para cambiar este comportamiento, consulte Estado global en CRT.
Asignación de rutinas 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
Routine | Encabezado necesario |
---|---|
_strdate |
<time.h> |
_wstrdate |
<time.h> o <wchar.h> |
_strdate_s |
<time.h> |
Ejemplo
Vea el ejemplo de time
.
Consulte también
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