_utime, _utime32 _utime64, _wutime, _wutime32, _wutime64
Defina a hora de 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 seqüência de caracteres que contém o caminho ou nome de arquivo.times
Ponteiro para valores de hora armazenados.
Valor de retorno
Cada uma dessas funções retorna 0 se a hora de modificação do arquivo foi alterada.Um valor de retorno de – 1 indica um erro.Se um parâmetro inválido for passado, o manipulador de parâmetro inválido é invocado, conforme descrito em Validação de parâmetro.Se a execução terá permissão para continuar, essas funções retornam -1 e errno é definida para um dos seguintes valores:
EACCES
Caminho Especifica o diretório ou arquivo somente leituraEINVAL
Inválido times argumentoEMFILE
Muitos arquivos abertos (o arquivo deve ser aberto para alterar a hora da modificação)ENOENT
Caminho ou nome de arquivo não encontrado
Consulte _doserrno, errno, _sys_errlist e _sys_nerr para obter mais informações sobre estes e outros, códigos de retorno.
Se a data de alteração for após a meia-noite, de 1º de janeiro de 1970 e antes da data de término da função usada, a data pode ser alterada para um arquivo._utimee _wutime usar um valor de tempo de 64 bits, portanto, a data de término é 23: 59: 59, 31 de dezembro de 3000, UTC.Se _USE_32BIT_TIME_T é definido para forçar o comportamento antigo, a data final é 03: 14: 07 em 19 de janeiro de 2038, UTC._utime32ou _wutime32 usar um tipo de tempo de 32 bits, independentemente se _USE_32BIT_TIME_T é definida, e sempre ter a data de término anterior._utime64ou _wutime64 sempre use o tipo de tempo de 64 bits, portanto, essas funções sempre suporte à data de término posterior.
Comentários
O _utime função define a hora de modificação para o arquivo especificado por filename*.* O processo deve ter acesso de gravação ao arquivo para alterar a hora.No sistema operacional Windows, você pode alterar o tempo de acesso e a hora de modificação na _utimbuf estrutura.Se times é um NULL ponteiro, que a hora da modificação é definida como a hora local atual.Caso contrário, times deve apontar para uma estrutura do tipo _utimbuf, definido em SYS\UTIME.H.
O _utimbuf estrutura armazena os tempos de acesso e modificação de arquivo usados pelo _utime para alterar as datas de modificação do arquivo.A estrutura tem os seguintes campos forem do tipo time_t:
actime
Tempo de acesso a arquivosmodtime
Hora da modificação do arquivo
Versões específicas da _utimbuf estrutura (_utimebuf32 e __utimbuf64) são definidos usando as versões de 32 bits e 64 bits do tipo hora.Eles são usados nas versões específicas 32 bits e 64 bits dessa função._utimbufsi mesmo por padrão usa um tipo de tempo de 64 bits, a menos que _USE_32BIT_TIME_T está definido.
_utimeé idêntico ao _futime , exceto que o filename argumento do _utime é um nome de arquivo ou um caminho para um arquivo, em vez de um descritor de arquivo de um arquivo aberto.
_wutimeé uma versão de caractere largo de _utime; o filename argumento para _wutime é uma seqüência de caracteres largos.Essas funções se comportam exatamente caso contrário.
Mapeamentos de rotina de texto genérico
TCHAR.Rotina H |
_ Unicode & _ MBCS do arquivo não definido |
_ MBCS do arquivo definido |
_ Unicode definido |
---|---|---|---|
_tutime |
_utime |
_utime |
_wutime |
_tutime32 |
_utime32 |
_utime32 |
_wutime32 |
_tutime64 |
_utime64 |
_utime64 |
_wutime64 |
Requisitos
Rotina |
Cabeçalhos necessários |
Cabeçalhos opcionais |
---|---|---|
_utime, _utime32, _utime64 |
<sys/utime.h> |
<errno.h> |
_utime64 |
<sys/utime.h> |
<errno.h> |
_wutime |
<utime.h> ou <wchar.h> |
<errno.h> |
Para obter informações adicionais de compatibilidade, consulte compatibilidade na introdução.
Exemplo
Esse programa usa _utime para definir a hora de modificação do arquivo para 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 c padrão, use PInvoke. Para obter mais informações, consulte Exemplos de invocação de plataforma.
Consulte também
Referência
a ctime, _ctime32, _ctime64, _wctime, _wctime32, _wctime64
_fstat, _fstat32, _fstat64, _fstati64, _fstat32i64, _fstat64i32