Sdílet prostřednictvím


_utime, _utime32, _utime64, _wutime, _wutime32, _wutime64

Nastavte čas změny souboru.

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 
);

Parametry

  • filename
    Ukazatel na řetězec, který obsahuje cestu nebo název souboru.

  • times
    Ukazatel času uložené hodnoty.

Vrácená hodnota

Každá z těchto funkcí vrátí 0, pokud čas změny souboru byla změněna.Vrácená hodnota –1 označuje chybu.Pokud je předán neplatný parametr, je vyvolána neplatný parametr popisovače, jak je popsáno v Ověření parametrů.Pokud je povoleno spuštění pokračovat, vrátí tyto funkce hodnotu -1 a errno je nastavena na jednu z následujících hodnot:

  • EACCES
    Cesta Určuje adresář nebo soubor jen pro čtení

  • EINVAL
    Neplatný times argument

  • EMFILE
    Příliš mnoho otevřených souborů (soubor musí být otevřeny změnit svůj čas změny)

  • ENOENT
    Cesta nebo název souboru nebyl nalezen.

Viz _doserrno, kód chyby, _sys_errlist a _sys_nerr Další informace o těchto a jiných návratových kódů.

Datum lze změnit soubor-li změnit datum po půlnoci 1. ledna 1970 a před koncovým datem použitá funkce._utimea _wutime použít hodnotu času 64 bit, tak koncové datum je 23: 59: 59 UTC do 31. prosince 3000.Pokud _USE_32BIT_TIME_T je definován vynucení staré chování je koncové datum 03: 14: 07 19 01.01.08, UTC._utime32nebo _wutime32 čas 32bitový typ bez ohledu zda _USE_32BIT_TIME_T je definován a mají vždy dřívější datum ukončení._utime64nebo _wutime64 vždy použít typ 64 bit času tak tyto funkce podporují vždy vyšší koncové datum.

Poznámky

_utime Funkce nastaví čas změny souboru podle filename*.* Proces musí mít přístup pro zápis do souboru pro změnu času.V operačním systému Windows můžete změnit přístup čas a čas změny v _utimbuf struktury.Pokud times je NULL ukazatel, čas změny je nastaven na aktuální místní čas.Jinak times musí odkazovat na strukturu typu _utimbuf, definované v SYS\UTIME.H.

_utimbuf Struktury ukládá soubor aplikace access a změnu časy používány _utime změnit datum změny souboru.Struktura obsahuje následující pole, která jsou typu time_t:

  • actime
    Čas přístupu k souboru

  • modtime
    Čas změny souboru

Určité verze _utimbuf struktury (_utimebuf32 a __utimbuf64) jsou definovány pomocí 32bitové a 64bitové verze typ času.Jsou použity v 32bitových a 64bitových určité verze této funkce._utimbufsám ve výchozím nastavení používá typ 64 bit čas, pokud _USE_32BIT_TIME_T je definován.

_utimeje shodné s _futime s výjimkou, že filename argumentu _utime je název souboru nebo cestu k souboru, nikoli soubor deskriptoru otevřeného souboru.

_wutimeje verze celého znaku _utime; filename argument _wutime je řetězec znaků wide.Tyto funkce chovat stejně jinak.

Obecný Text rutinní mapování

TCHAR.Rutina H

_UNICODE & _MBCS není definován

_MBCS, definice

_UNICODE, definice

_tutime

_utime

_utime

_wutime

_tutime32

_utime32

_utime32

_wutime32

_tutime64

_utime64

_utime64

_wutime64

Požadavky

Rutina

Požadované záhlaví

Volitelné záhlaví

_utime, _utime32, _utime64

<sys/utime.h>

<errno.h>

_utime64

<sys/utime.h>

<errno.h>

_wutime

<utime.h> nebo <wchar.h>

<errno.h>

Další informace o kompatibilitě, viz Compatibility v úvodu.

Příklad

Tento program používá _utime čas změny souboru nastavit aktuální čas.

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

Vzorový výstup

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

Ekvivalent v rozhraní .NET Framework

Nelze použít Použijte volání funkce standardní C, PInvoke. Další informace naleznete v tématu Příklady vyvolat platformu.

Viz také

Referenční dokumentace

Aplikace Správa času

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 funkce _wstat

time, _time32, _time64