컴퓨터 엑셀 워드 포토숍 구글어스 WINDOWS JAVASCRIPT JAVA C++

 
Previous Post 정규식] 줄바꿈 문자(개행문자; 엔터 키) 매치; CR-LF Enter Key Match ...Perl/펄 정규식] 줄바꿈 문자 제거, 개행 문자 삭제; Text File Remove ...Java/자바] 피보나치 수열 구하기; Fibonacci Sequence; 피보나치 수(F...C언어] 피보나치 수열 구하기; Fibonacci Sequence; 피보나치 수(Fibon...Python/파이썬] 피보나치 수열 구하기; Fibonacci Sequence; 피보나치 ...Perl/펄] 피보나치 수열 구하기; Fibonacci Sequence; 피보나치 수(Fi...Perl/펄] sprintf 함수 사용 법; printf 출력을, 문자열로 저장; Outp...Excel/엑셀 VBA] 문자열 크기/길이, 글자 수/바이트 수 계산 함수; String ...C언어] printf() 함수 출력을, 문자열로 저장하는 법; printf to Strin...C언어] 나머지 값 연산자 사용 법, 퍼센트 기호(%); Modulus Operator, ...

C언어 VC] 파일 속성; 읽기 전용 여부 판단 함수; is File Readonly?

Friday, February 02, 2007

파일을 읽고 쓰는 작업을 할 때, 해당 파일이 읽기 전용인지 아닌지 우선 알아내야 할 때가 있습니다. 필요할 때마다 속성 판단 코드를 삽입해 주는 것보다는 다음의 isFileReadonly() 함수와 같은 것을 미리 만들어 두고 쓰는 것이 편리합니다.

isFileReadonly("파일명") 함수는, 파라미터로 입력한 파일이, 읽기 전용일 때는 참(1)을, 아닐 때에는 거짓(0)을 반환합니다. 그리고 에러가 났을 때는 -1 을 반환합니다.

Readonly(읽기 전용) 속성 검사 예제


소스 파일명: example.cpp
#include <stdio.h>
#include <io.h>

int isFileReadonly(char* filename);


int main(void) {
  char* filename = "test.txt";


  if (isFileReadonly(filename) == 1)
    puts("읽기 전용 파일입니다.");
  else if (isFileReadonly(filename) == 0)
    puts("읽기 전용이 아닙니다.");
  else if (isFileReadonly(filename) == -1)
    puts("에러가 났습니다.");

  return 0;
}




int isFileReadonly(char* filename) {
  _finddatai64_t c_file;
  intptr_t hFile;
  int result = 0;

  if ( (hFile = _findfirsti64(filename, &c_file)) == -1L )
    result = -1;
  else
    if (c_file.attrib & _A_RDONLY) result = 1;


  _findclose(hFile);

  return result;
}


컴파일 및 실행 결과 화면:
현재 디렉토리에 있는 test.txt 라는 파일의 속성을 검사합니다. 1번째 실행 때는 test.txt 를 보통 속성으로, 2번째 실행 때는 test.txt 를 읽기 전용으로 만든 후, 실행했습니다.
D:\Z>cl /nologo example.cpp && example.exe
example.cpp
읽기 전용이 아닙니다.

D:\Z>cl /nologo example.cpp && example.exe
example.cpp
읽기 전용 파일입니다.

D:\Z>



파일이 가진 속성들을 문자열로 표현: ▶▶ C언어-VC] 파일 속성(읽기전용/히든 속성 등) 출력; Print File Attributes: ARHS

0 Comments:

Post a Comment

<< Home RSS 2.0 feed

구글 Google 에서 제공하는 무료 블로그 서비스인 블로거 Blogger 의 인터넷 주소는 www.blogger.com 입니다. Blogger 에 블로그를 만들면, blogspot.com 이라는 주소에 블로그가 생성됩니다.
블로그를 직접 방문하지 않고도 최신 게시물을 구독하려면 RSS 2.0 feed 주소를 리더기에 등록하시면 됩니다.
Categories
Previous Posts
Monthly Archives
Top