_utime, _utime32 _utime64, _wutime, _wutime32, _wutime64
conjunto a time 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 time armazenados.
Valor de retorno
Cada uma dessas funções retornará 0 se o time de modificação do arquivo foi alterado.Um valor retornado de – 1 indica um erro.Se um parâmetro inválido for passado, o manipulador de parâmetro inválido é chamado, conforme descrito em Validação de parâmetro. Se a execução for permitida para continuar, essas funções retornam -1 e errno é conjunto a um dos seguintes valores:
EACCES
Caminho Especifica o diretório ou arquivo somente leituraEINVAL
De inválidotimes argumentoEMFILE
Muitos arquivos abertos (o arquivo deve ser em aberto para alterar sua time de modificação)ENOENT
Caminho ou nome de arquivo não encontrado
See _doserrno, errno, _sys_errlist e _sys_nerr para obter mais informações sobre esses e outros códigos retorno.
A data pode ser alterada para um arquivo se a data de alterar é após a meia-noite, 1 º de janeiro de 1970 e antes do participante data da função usada.In Visual C++ 2005, _utime e _wutime Agora use um valor temporal de 64 bit, portanto, o participante data é 23: 59: 59, 31 de dezembro de 3000, UTC. If _USE_32BIT_TIME_T é definido para forçar o comportamento antigo, o participante data for 14: 03: 07 19 de janeiro de 2038, UTC. _utime32 ou _wutime32 usar um tipo de time de 32 bit independentemente se _USE_32BIT_TIME_T é definido e sempre ter quanto mais cedo participante Data. _utime64 ou _wutime64 sempre use o tipo de time de 64 bit, então essas funções sempre oferece suporte a data de término posterior.
Comentários
The _utime função define a time da modificação do arquivo especificado por filename*.* O processo deve ter acesso de gravar para o arquivo para alterar a time.No sistema operacional Windows, você pode alterar o time de acesso e a time de modificação no _utimbuf estrutura. If times é um NULL ponteiro, a time de modificação é definida como a time local corrente. Caso contrário, times deve apontar para uma estrutura de tipo _utimbuf, definido no SYS\UTIME.H.
The _utimbuf estrutura armazena horas de acesso e modificação de arquivo usadas pelo _utime Para alterar as datas de modificação do arquivo. A estrutura tem os seguintes campos são do tipo time_t:
actime
time de acesso a arquivosmodtime
time da modificação do arquivo
In Visual C++ 2005, versões específicas da _utimbuf () estrutura_utimebuf32 e __utimbuf64) são definidos usando as versões de 32 bit e 64 bit do tipo time. Eles são usados nas versões específicas 32 bit e 64 bit dessa função._utimbuf si mesmo por padrão usa um tipo de time de 64 bit, a menos que _USE_32BIT_TIME_T está definido.
_utime é idêntico ao _futime exceto pelo fato de que o filename argumento de _utime é um nome de arquivo ou um caminho para um arquivo em vez de um descritor de arquivo de um arquivo em aberto.
_wutime é uma versão de caractere largo da _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érica
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 |
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 compatibilidade, consulte Compatibilidade na introdução.
Exemplo
Esse programa usa _utime Para conjunto a time de modificação do arquivo para a time corrente.
// 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
Equivalente do NET Framework
Não aplicável. Para telefonar 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
ctime, _ctime32, _ctime64, _wctime, _wctime32, _wctime64
_fstat, _fstat32, _fstat64, _fstati64, _fstat32i64, _fstat64i32