Compartilhar via


_utime, _utime32, _utime64, _wutime, _wutime32, _wutime64

Definir a hora da modificação do arquivo.

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
    Ponteiro para uma cadeia de caracteres que contém o caminho ou o nome do arquivo.

  • times
    Ponteiro para os valores de tempo armazenados.

Valor de retorno

Cada uma dessas funções retornará 0 se o tempo de arquivo alteração foram alterados. Um valor de retorno – 1 indica um erro. Se um parâmetro inválido é passado, o manipulador inválido do parâmetro será chamado, conforme descrito em Validação do parâmetro. Se a execução for permitida continuar, essas funções retornam -1 e errno é definido como um dos seguintes valores:

  • EACCES
    O caminho especifica o diretório ou arquivo somente leitura

  • EINVAL
    Argumento inválido de times

  • EMFILE
    Arquivos abertos muitos (o arquivo deve ser aberto para alterar seu tempo de alteração)

  • ENOENT
    Caminho ou nome de arquivo não encontrado

Para obter mais informações sobre esses e outros códigos de retorno, consulte _doserrno, errno, _sys_errlist, and _sys_nerr.

A data pode ser alterada para um arquivo se a data de modificação se ocorre após a meia-noite, o 1º de janeiro de 1970, e antes da data de término da função usado. _utime e _wutime usam um valor de hora de 64 bits, a data de término é 23:59: o 31 de dezembro, 59, 3000, UTC. Se _USE_32BIT_TIME_T é definido para forçar o comportamento antigo, a data de término é 03:14: 7 de janeiro de 19, 2038, UTC. _utime32 ou o uso de _wutime32 um tipo de 32 bits de hora independentemente de _USE_32BIT_TIME_T está definida, e têm sempre a data de término anterior. _utime64 ou de _wutime64 o uso sempre o tipo de 64 bits de tempo, o que oferecem suporte a essas funções sempre a data de término posterior.

Comentários

A função de _utime define o tempo de alteração para o arquivo especificado por filename*.* O processo deve ter acesso de gravação no arquivo para modificar o tempo. No sistema operacional Windows, você pode alterar as horas de início e hora de alteração na estrutura de _utimbuf . Se times é um ponteiro de NULL , o tempo de alteração são definidos a hora local atual. Caso contrário, times deve apontar a uma estrutura de tipo _utimbuf, definida no sistema UTIME.H \.

Os repositórios acesso ao arquivo da estrutura de _utimbuf e hora de alteração usados por _utime às datas de arquivo alteração de alteração. A estrutura tem os seguintes campos, que são o tipo time_t:

  • actime
    Hora do acesso ao arquivo

  • modtime
    Hora da modificação do arquivo

As versões específicas da estrutura de _utimbuf (_utimebuf32 e __utimbuf64) são definidas usando as versões de 32 bits e de 64 bits do tipo de tempo. Esses são usados nas versões específicas de 32 bits e de 64 bits deste função. por padrão_utimbuf próprio usa um tipo de 64 bits de tempo a menos que _USE_32BIT_TIME_T está definido.

_utime é idêntico a _futime exceto que o argumento de filename de _utime é um nome de arquivo ou um caminho de um arquivo, em vez de um descritor de arquivo de um arquivo aberto.

_wutime é uma versão de caractere longo de _utime; o argumento filename para _wutime é uma cadeia de caractere longo. Essas funções se comportam exatamente o contrário.

Mapeamentos da rotina de texto genérico

Rotina TCHAR.H

_UNICODE & _MBCS não definido

_MBCS definido

_UNICODE definido

_tutime

_utime

_utime

_wutime

_tutime32

_utime32

_utime32

_wutime32

_tutime64

_utime64

_utime64

_wutime64

Requisitos

Rotina

Necessários cabeçalhos

Cabeçalhos opcionais

_utime, _utime32, _utime64

<o sistema/utime.h>

<errno.h>

_utime64

<o sistema/utime.h>

<errno.h>

_wutime

<utime.h ou> wchar.h <>

<errno.h>

Para informações adicionais de compatibilidade, consulte Compatibilidade na Introdução.

Exemplo

Esse programa usa _utime para definir o tempo de alteração com a hora atual.

// 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" );
}

Saída de Exemplo

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

Equivalência do .NET Framework

Não aplicável. Para chamar a função padrão de C, use PInvoke. Para obter mais informações, consulte Exemplos de chamadas de plataformas.

Consulte também

Referência

Gerenciamento de tempo

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

Funções _stat, _wstat

time, _time32, _time64