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

 
Tuesday, April 03, 2007

C언어] 파일인지 디렉토리인지 여부 판단 함수; is File or Dir


가령, 같은 COOL 이라는 이름을 가지고 있어도 그것이 파일일 수도 있고 디렉토리일 수도 있습니다. 디스크에 있는 어떤 대상이 파일인지 디렉토리(폴더)인지 알아내는 방법이 필요합니다. 다음의 isFileOrDir() 함수로 판단할 수 있습니다.

isFileOrDir("패스") 함수는, 파일이면 1을, 디렉토리면 0을, 그런 이름의 파일이나 디렉토리가 없다면 -1을 반환합니다.


파일과 디렉토리 구분 예제


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

// 파일인지 디렉토리인지 판단 함수
int isFileOrDir(char* s);


int main(void) {
  char* filename = "COOL";

  int result = isFileOrDir(filename);

  if (result == 1)
    puts("파일입니다.");
  else
    if (result == 0)
      puts("디렉토리입니다.");
  else
    if (result == -1)
      puts("그런 파일 또는 디렉토리는 없습니다.");


  return 0;
}



int isFileOrDir(char* s) {
  _finddatai64_t c_file;
  intptr_t hFile;
  int result;


  if ( (hFile = _findfirsti64(s, &c_file)) == -1L )
    result = -1; // 파일 또는 디렉토리가 없으면 -1 반환
  else
    if (c_file.attrib & _A_SUBDIR)
      result = 0; // 디렉토리면 0 반환
  else
    result = 1; // 그밖의 경우는 "존재하는 파일"이기에 1 반환


  _findclose(hFile);

  return result;
}




▶▶ C언어] 파일 존재 여부 판단, 디렉토리 있는지? 함수; Is File Directory Exists




tag: cpp
C언어 | C/C++ (Visual C++)

0 Comments:

Post a Comment

<< Home RSS 2.0 feed

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