Compartir a través de


_utime, _utime32 _utime64, _wutime, _wutime32, _wutime64

Establezca el tiempo 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 o el nombre de archivo.

  • times
    puntero a los valores de hora almacenados.

Valor devuelto

Cada una de estas funciones devuelve 0 si la archivo-modificación ha cambiado.un valor devuelto de – 1 indica un error.Si se pasa un parámetro no válido, 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 se establece en uno de los siguientes valores:

  • EACCES
    La ruta especifica el directorio o archivo de sólo lectura

  • EINVAL
    Argumento no válido de times

  • EMFILE
    Demasiados archivos abiertos (el archivo se debe abrir para cambiar el tiempo de modificación)

  • ENOENT
    Ruta de acceso o nombre de archivo no encontrado

Vea _doserrno, errno, _sys_errlist, y _sys_nerr para obtener más información al respecto, y otro, códigos de retorno.

La fecha se puede cambiar en un archivo si la fecha del cambio es después de la medianoche, el 1 de enero de 1970, y antes de la fecha de finalización de la función utilizada._utime y _wutime utilizan un valor de hora 64 bits, por lo que la fecha de finalización es 23:59: 59, el 31 de diciembre, 3000, la hora UTC.Si _USE_32BIT_TIME_T es definido forzar el comportamiento antiguo, la fecha de finalización es 03:14: 7 de enero de 19, 2038, La hora UTC._utime32 o el uso de _wutime32 un plazo de 32 bits tipo independientemente _USE_32BIT_TIME_T está definido, y siempre tiene la fecha de finalización anterior._utime64 o de _wutime64 el uso siempre el tipo de 64 bits del tiempo, por lo que estas funciones admite siempre la fecha de finalización posterior.

Comentarios

La función de_utime establece la hora de modificación para el archivo especificado por filename*.* El proceso debe tener acceso de escritura al archivo para cambiar el tiempo.En el sistema operativo Windows, puede cambiar el tiempo de acceso y el tiempo de modificación en la estructura de _utimbuf .Si times es un puntero de NULL , el tiempo de modificación se establece en la hora local actual.si no, times debe señalar a una estructura de _utimbufescrito, definido en SYS \UTIME.H.

La estructura de _utimbuf almacena los tiempos de acceso a archivos y modificar utilizados por _utime a las fechas de la archivo-modificación de cambio.La estructura tiene los siguientes campos, que son ambos time_ttipo:

  • actime
    Hora de acceso a archivos

  • modtime
    Hora de modificación del archivo

Las versiones específicas de la estructura de _utimbuf (_utimebuf32 y __utimbuf64) se definen mediante la versión de 32 bits y la de 64 bits del tiempo.Estos se utilizan en versiones concretas de 32 bits y 64 bits de esta función._utimbuf sí mismo de forma predeterminada utiliza un tiempo 64 bits tipo a menos que _USE_32BIT_TIME_T está definido.

_utime es idéntico a _futime salvo que el argumento de filename de _utime es un nombre de archivo o ruta de acceso a un archivo, en lugar de descriptor de archivo de un archivo abierto.

_wutime es una versión con caracteres anchos de _utime; el argumento de filename a _wutime es una cadena de caracteres.Estas funciones se comportan exactamente igual de otra manera.

Asignaciones de la rutina de texto genérico

rutina de TCHAR.H

_UNICODE y _MBCS no definido

_MBCS definido

_UNICODE definido

_tutime

_utime

_utime

_wutime

_tutime32

_utime32

_utime32

_wutime32

_tutime64

_utime64

_utime64

_wutime64

Requisitos

rutina

Encabezados necesarios

encabezados opcionales

_utime, _utime32, _utime64

<sistema/utime.h>

<errno.h>

_utime64

<sistema/utime.h>

<errno.h>

_wutime

<utime.h> o <wchar.h>

<errno.h>

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

Ejemplo

Este programa utiliza _utime para establecer el tiempo de la archivo-modificación en 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" );
}

Resultados del ejemplo

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

Equivalente en .NET Framework

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

Vea también

Referencia

Administración de tiempo

asctime, _wasctime

ctime, _ctime32, _ctime64, _wctime, _wctime32, _wctime64

_fstat, _fstat32, _fstat64, _fstati64, _fstat32i64, _fstat64i32

_ftime, _ftime32, _ftime64

_futime, _futime32, _futime64

gmtime, _gmtime32, _gmtime64

localtime, _localtime32, _localtime64

_stat, funciones de _wstat

time, _time32, _time64