_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 leituraEINVAL
Argumento inválido de timesEMFILE
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 arquivomodtime
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
ctime, _ctime32, _ctime64, _wctime, _wctime32, _wctime64
_fstat, _fstat32, _fstat64, _fstati64, _fstat32i64, _fstat64i32