_utime, _utime32 _utime64, _wutime, _wutime32, _wutime64
파일 수정 시간을 설정 합니다.
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
);
매개 변수
filename
경로 또는 파일 이름이 들어 있는 문자열을 포인터입니다.times
저장 된 시간 값에 대 한 포인터입니다.
반환 값
각이 함수 파일 수정 시간이 변경 되었으면 0을 반환 합니다.반환 값-1은 오류를 나타냅니다.에 잘못 된 매개 변수가 전달 된 경우 잘못 된 매개 변수 처리기를의 설명에 따라 호출 됩니다 매개 변수 유효성 검사.실행 계속 수 있으면 이러한 함수-1을 반환 하 고 errno 다음 값 중 하나로 설정 됩니다.
EACCES
읽기 전용 파일 또는 디렉터리 경로 지정합니다.EINVAL
잘못 된 times 인수EMFILE
열린 파일이 너무 많습니다 (수정 시간을 변경 하려면 파일을 열 수 합니다)ENOENT
경로 또는 파일 이름을 찾을 수 없습니다.
참조 하십시오 _doserrno, errno, _sys_errlist, 및 _sys_nerr 에서이 및 기타 자세한 내용은 반환 코드입니다.
변경 날짜 1970 년 1 월 1 일 자정부터 뒤와 종료 날짜를 사용 하는 함수는 경우에 대 한 파일 날짜를 변경할 수 있습니다._utime및 _wutime 끝 날짜 23시 59분: 59, 3000, 12 월 31 UTC입니다 64 비트 시간 값을 사용 합니다.경우 _USE_32BIT_TIME_T 정의 된 이전 버전의 동작을 강제로 03시 14분: 07 2038 1 월 19 일, UTC의 끝 날짜입니다._utime32또는 _wutime32 사용 하는 32 비트 시간 형식 여부에 관계 없이 _USE_32BIT_TIME_T 정의 된 및 이전 종료 날짜는 항상 있습니다._utime64또는 _wutime64 항상 끝 날짜는 항상이 함수를 지원 하므로 64 비트 시간 형식을 사용 합니다.
설명
_utime 함수는 지정 된 파일에 대 한 수정 시간을 설정 filename*.* 프로세스 시간을 변경 하려면 파일을 쓰기 권한이 있어야 합니다.Windows 운영 체제에서 액세스 시간, 수정 시간에 변경할 수 있는 _utimbuf 구조입니다.경우 times 되는 NULL 포인터를 현재 로컬 시간 수정 시간을 설정할 수 있습니다.그렇지 않으면 times 형식의 구조체를 가리켜야 합니다 _utimbuf, SYS\UTIME에서 정의 됩니다.H.
_utimbuf 구조를 사용 하는 파일 액세스 및 수정 시간 저장 _utime 파일 수정 날짜를 변경 합니다.구조는 모두 형식에는 다음과 같은 필드가 같습니다. time_t:
actime
파일 액세스 시간modtime
파일 수정 시간
특정 버전의 있는 _utimbuf 구조 (_utimebuf32 및 __utimbuf64) 시간 형식의 32 비트 및 64 비트 버전을 사용 하 여 정의 됩니다.이 32 비트 및 64 비트 특정 버전의이 함수에 사용 됩니다._utimbuf하지 않는 한 기본적으로 자체 64 비트 시간 형식이 사용 _USE_32BIT_TIME_T 정의 됩니다.
_utime동일 합니다 _futime 를 제외 하 고는 filename 인수를 _utime 파일 이름 또는 열려 있는 파일의 파일 설명자 대신 한 파일에 대 한 경로입니다.
_wutime와이드 문자 버전입니다 _utime. filename 인수를 _wutime 와이드 문자 문자열입니다.이러한 함수는 동일 하 게 그렇지 않으면 동작합니다.
일반 텍스트 루틴 매핑
TCHAR입니다.H 루틴 |
_UNICODE 및 _Mbcs가 정의 되지 않았습니다. |
_Mbcs가 정의 |
_Unicode가 정의 |
---|---|---|---|
_tutime |
_utime |
_utime |
_wutime |
_tutime32 |
_utime32 |
_utime32 |
_wutime32 |
_tutime64 |
_utime64 |
_utime64 |
_wutime64 |
요구 사항
루틴 |
필수 헤더 |
선택적 헤더 |
---|---|---|
_utime, _utime32, _utime64 |
<sys/utime.h> |
<errno.h> |
_utime64 |
<sys/utime.h> |
<errno.h> |
_wutime |
<utime.h> 또는 <wchar.h> |
<errno.h> |
추가 호환성 정보를 참조 하십시오. 호환성 소개에서 합니다.
예제
이 프로그램을 사용 하 여 _utime 의 파일 수정 시간을 현재 시간으로 설정 합니다.
// 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" );
}
샘플 출력
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
해당 .NET Framework 항목
해당 사항 없음. 표준 C 함수를 호출할 수 있습니다 PInvoke. 자세한 내용은 플랫폼 호출 예제.
참고 항목
참조
ctime, _ctime32, _ctime64, _wctime, _wctime32, _wctime64
_fstat, _fstat32, _fstat64, _fstati64, _fstat32i64, _fstat64i32