_chmod, _wchmod
파일 사용 권한 설정을 변경합니다.
int _chmod(
const char *filename,
int pmode
);
int _wchmod(
const wchar_t *filename,
int pmode
);
매개 변수
filename
기존 파일의 이름입니다.pmode
파일 사용 권한 설정입니다.
반환 값
사용 권한 설정이 성공적으로 변경 되는 경우 이러한 함수에서 0을 반환 합니다.반환 값-1은 실패를 나타냅니다.지정한 파일을 찾을 수 없는 경우 errno 로 설정 된 ENOENT. 매개 변수가 유효 하지 않으면 errno 로 설정 된 EINVAL.
설명
_chmod 함수는 지정 된 파일의 권한 설정 변경 filename*.* 사용 권한 설정은 읽기 및 쓰기 권한을 파일을 제어합니다.정수 식 pmode sys\stat.h에 정의 된 다음 매니페스트 상수 중 하나 또는 모두를 포함 합니다.
_S_IWRITE
쓰기를 허용 합니다._S_IREAD
읽기를 허용 합니다._S_IREAD | _S_IWRITE
읽기 및 쓰기를 허용 합니다.
두 상수를 지정 하는 경우 and로 조인 된 OR 연산자 ( |).쓰기 권한을 지정 하지 않으면 파일이 읽기 전용입니다.참고 항상 모든 파일 읽을 수 있습니다. 쓰기 전용 권한을 부여할 수 없습니다.따라서 모드 _S_IWRITE 및 _S_IREAD | _S_IWRITE 은 동일 합니다.
_wchmod와이드 문자 버전입니다 _chmod. filename 인수를 _wchmod 와이드 문자 문자열입니다._wchmod및 _chmod 그렇지을 동일 하 게 작동 합니다.
이 함수의 매개 변수의 유효성을 검사 합니다.경우 pmode 조합 된 매니페스트 상수 중 하나를 없거나 통합은 서로 다른 집합 상수, 함수 단순히이 무시 합니다.경우 filename 입니다 NULL, 설명에 따라 잘못 된 매개 변수 처리기가 호출 매개 변수 유효성 검사.실행을 계속 수 있으면 errno 설정 되어 EINVAL 및-1을 반환 하는 함수입니다.
일반 텍스트 루틴 매핑
Tchar.h 루틴 |
_UNICODE 및 _mbcs가 정의 되지 않았습니다. |
_Mbcs가 정의 |
_Unicode가 정의 |
---|---|---|---|
_tchmod |
_chmod |
_chmod |
_wchmod |
요구 사항
루틴 |
필수 헤더 |
선택적 헤더 |
---|---|---|
_chmod |
<io.h> |
<sys/types.h>, <sys/stat.h>, <errno.h> |
_wchmod |
<io.h> 또는 <wchar.h> |
<sys/types.h>, <sys/stat.h>, <errno.h> |
더 많은 호환성 정보를 참조 하십시오. 호환성 소개에서 합니다.
예제
// crt_chmod.c
// This program uses _chmod to
// change the mode of a file to read-only.
// It then attempts to modify the file.
//
#include <sys/types.h>
#include <sys/stat.h>
#include <io.h>
#include <stdio.h>
#include <stdlib.h>
#include <errno.h>
// Change the mode and report error or success
void set_mode_and_report(char * filename, int mask)
{
// Check for failure
if( _chmod( filename, mask ) == -1 )
{
// Determine cause of failure and report.
switch (errno)
{
case EINVAL:
fprintf( stderr, "Invalid parameter to chmod.\n");
break;
case ENOENT:
fprintf( stderr, "File %s not found\n", filename );
break;
default:
// Should never be reached
fprintf( stderr, "Unexpected error in chmod.\n" );
}
}
else
{
if (mask == _S_IREAD)
printf( "Mode set to read-only\n" );
else if (mask & _S_IWRITE)
printf( "Mode set to read/write\n" );
}
fflush(stderr);
}
int main( void )
{
// Create or append to a file.
system( "echo /* End of file */ >> crt_chmod.c_input" );
// Set file mode to read-only:
set_mode_and_report("crt_chmod.c_input ", _S_IREAD );
system( "echo /* End of file */ >> crt_chmod.c_input " );
// Change back to read/write:
set_mode_and_report("crt_chmod.c_input ", _S_IWRITE );
system( "echo /* End of file */ >> crt_chmod.c_input " );
}
한 줄의 텍스트입니다.
A line of text. 모드를 읽기 전용으로 설정 액세스가 거부된 경우 읽기/쓰기로 설정 모드
해당 .NET Framework 항목
참고 항목
참조
_fstat, _fstat32, _fstat64, _fstati64, _fstat32i64, _fstat64i32