_utime, _utime32, _utime64, _wutime, _wutime32, _wutime64

 

Publicado: octubre de 2016

Para obtener la documentación más reciente de Visual Studio 2017 RC, consulte Documentación de Visual Studio 2017 RC.

Establezca la hora de modificación del archivo.

int _utime(  
   const char *filename,  
   struct _utimbuf *times   
);  
int _utime32(  
   const char *filename,  
   struct __utimbuf32 *times   
);  
int _utime64(  
   const char *filename,  
   struct __utimbuf64 *times   
);  
int _wutime(  
   const wchar_t *filename,  
   struct _utimbuf *times   
);  
int _wutime32(  
   const wchar_t *filename,  
   struct __utimbuf32 *times   
);  
int _wutime64(  
   const wchar_t *filename,  
   struct __utimbuf64 *times   
);  

Parámetros

filename
Puntero a una cadena que contiene la ruta de acceso o nombre de archivo.

times
Puntero a los valores de hora almacenada.

Cada una de estas funciones devuelve 0 si se cambia la hora de modificación del archivo. Un valor devuelto de –1 indica un error. Si se pasa un parámetro no válido, se invoca el controlador de parámetros no válidos, como se describe en validación del parámetro. Si la ejecución puede continuar, estas funciones devuelven -1 y errno se establece en uno de los siguientes valores:

EACCES
Ruta de acceso especifica el directorio o archivo de sólo lectura

EINVAL
No válido times argumento

EMFILE
Hay demasiados archivos abiertos (se debe abrir el archivo para cambiar la hora de modificación)

ENOENT
Ruta de acceso o nombre de archivo no encontrado

Consulte _doserrno, errno, _sys_errlist y _sys_nerr para obtener más información sobre estos y otros, códigos de retorno.

La fecha se puede cambiar para un archivo si la fecha de cambio es después de la medianoche del 1 de enero de 1970 y antes de la fecha de finalización de la función utilizada. _utimey _wutime usar un valor de tiempo de 64 bits, por lo que la fecha de finalización es 23:59:59 del 31 de diciembre de 3000, UTC. Si _USE_32BIT_TIME_T se define para forzar el comportamiento anterior, la fecha de finalización es 23:59:59 del 18 de enero de 2038, hora UTC. _utime32o _wutime32 utilizar un tipo en tiempo de 32 bits independientemente de si _USE_32BIT_TIME_T se define y siempre tienen la fecha de finalización anterior. _utime64o _wutime64 utilizar siempre el tipo en tiempo de 64 bits, por lo que siempre, estas funciones admiten la fecha de finalización posterior.

El _utime función establece la hora de modificación para el archivo especificado por filename . El proceso debe tener acceso de escritura al archivo para cambiar la hora. En el sistema operativo Windows, puede cambiar el tiempo de acceso y la hora de modificación en el _utimbuf estructura. Si times es un NULL puntero, la hora de modificación se establece en la hora local actual. De lo contrario, times debe apuntar a una estructura de tipo _utimbuf, definida en SYS\UTIME. H.

El _utimbuf estructura almacena los tiempos de acceso y modificación de archivos utilizados por _utime para cambiar las fechas de modificación del archivo. La estructura tiene los siguientes campos, que son de tipo time_t:

actime
Tiempo de acceso a archivos

modtime
Hora de modificación del archivo

Las versiones específicas de la _utimbuf estructura (_utimebuf32 y __utimbuf64) se definen mediante las versiones de 32 bits y 64 bits del tipo de tiempo. Se utilizan en las versiones concretas de 32 bits y 64 bits de esta función. _utimbufde forma predeterminada utiliza un tipo en tiempo de 64 bits a menos que _USE_32BIT_TIME_T se define.

_utimees idéntico a _futime excepto en que la filename argumento de _utime es un nombre de archivo o una ruta de acceso a un archivo, en lugar de un descriptor de archivo de un archivo abierto.

_wutime es una versión con caracteres anchos de _utime; el argumento filename para _wutime es una cadena de caracteres anchos. Por lo demás, estas funciones se comportan exactamente igual.

Asignaciones de rutina de texto genérico

Rutina TCHAR.H_UNICODE y _MBCS no definidos_MBCS definido_UNICODE definido
_tutime_utime_utime_wutime
_tutime32_utime32_utime32_wutime32
_tutime64_utime64_utime64_wutime64
RutinaEncabezados obligatoriosEncabezados opcionales
_utime, _utime32, _utime64<errno.h>
_utime64<errno.h>
_wutime<utime.h>o<wchar.h></wchar.h></utime.h><errno.h>

Para obtener información adicional de compatibilidad, vea Compatibilidad en la Introducción.

Este programa utiliza _utime para establecer la hora de modificación del archivo a la hora actual.

// crt_utime.c  
#include <stdio.h>  
#include <stdlib.h>  
#include <sys/types.h>  
#include <sys/utime.h>  
#include <time.h>  
  
int main( void )  
{  
   struct tm tma = {0}, tmm = {0};  
   struct _utimbuf ut;  
  
   // Fill out the accessed time structure  
   tma.tm_hour = 12;  
   tma.tm_isdst = 0;  
   tma.tm_mday = 15;  
   tma.tm_min = 0;  
   tma.tm_mon = 0;  
   tma.tm_sec = 0;  
   tma.tm_year = 103;  
  
   // Fill out the modified time structure  
   tmm.tm_hour = 12;  
   tmm.tm_isdst = 0;  
   tmm.tm_mday = 15;  
   tmm.tm_min = 0;  
   tmm.tm_mon = 0;  
   tmm.tm_sec = 0;  
   tmm.tm_year = 102;  
  
   // Convert tm to time_t  
   ut.actime = mktime(&tma);  
   ut.modtime = mktime(&tmm);  
  
   // Show file time before and after  
   system( "dir crt_utime.c" );  
   if( _utime( "crt_utime.c", &ut ) == -1 )  
      perror( "_utime failed\n" );  
   else  
      printf( "File time modified\n" );  
   system( "dir crt_utime.c" );  
}  

Volume in drive C has no label.  
 Volume Serial Number is 9CAC-DE74  
  
 Directory of C:\test  
  
01/09/2003  05:38 PM               935 crt_utime.c  
               1 File(s)            935 bytes  
               0 Dir(s)  20,742,955,008 bytes free  
File time modified  
 Volume in drive C has no label.  
 Volume Serial Number is 9CAC-DE74  
  
 Directory of C:\test  
  
01/15/2002  12:00 PM               935 crt_utime.c  
               1 File(s)            935 bytes  
               0 Dir(s)  20,742,955,008 bytes free  

No es aplicable. Para llamar a la función estándar de C, use PInvoke. Para obtener más información, vea Ejemplos de invocación de plataforma.

Administración del tiempo
asctime, _wasctime
CTime, _ctime32, _ctime64, _wctime, _wctime32, _wctime64
_fstat, _fstat32, _fstat64, _fstati64, _fstat32i64, _fstat64i32
_ftime, _ftime32, _ftime64
_futime, _futime32, _futime64
gmtime, _gmtime32, _gmtime64
hora local, _localtime32, _localtime64
_stat, _wstat (funciones)
tiempo, _time32, _time64

Mostrar: