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

 
Previous Post C언어] 파일 지우기, 파일 삭제 함수 사용법; Delete File, Remove Fil...C언어] 내일 날짜 구하기; 다음날 날짜 계산 출력 함수; Get Tomorrow Date...C언어] 어제 날짜 구하기; 전날 날짜 계산 출력 함수; Get Yesterday Date...Java/자바] 내일 날짜 구하기; 다음날 날짜 계산 출력 메서드(함수); Get Tomo...Java/자바] 어제 날짜 구하기; 전날 날짜 계산 출력 메서드(함수); Yesterday...WAV 파일이란? 웨이브 (.wav) 확장자의 파일; Sound File FormatPython] Hello World (한글 헬로 월드 출력); 파이썬 기초 예제Python/파이썬] 한글 인코딩, 소스의 한글 확장 완성형 글자 표현; Korean Ha...3ds Max] Q: 맥스가 자주 다운(에러, 먹통)이 됩니다; Max Down (Cras...3ds Max/맥스] Hold / Fetch 용도 사용법; Undo(언두)가 안 될 때; ...

C언어] 디렉토리 지우기, 폴더 삭제 함수 사용법; Delete Directory, Remove Folder

Tuesday, December 12, 2006

C에서는, _rmdir() 함수로 디렉토리를 지울 수 있습니다. 단, "비어 있지 않은 디렉토리", "현재 디렉토리"나 "루트 디렉토리"는 지울 수 없습니다.

_rmdir() 함수는, 삭제에 성공했을 때는 0을, 실패했을 때는 -1을 반환합니다.

rmdir() 이 아닌 _rmdir() 함수를 사용하는 것이 좋습니다.


디렉토리 지우는 예제; _rmdir(), rmdir()


소스 파일명: 0.cpp
(현재 디렉토리 밑의, 000999 라는, 비어 있는 서브디렉토리를 지우는 예제입니다.)
#include <stdio.h>
#include <direct.h> // _rmdir()
#include <errno.h>

int main(void) {
  char s[] = "000999";


  if (_rmdir(s)) {
    switch (errno) {
      case ENOTEMPTY:
        fprintf(stderr, "Directory is not empty: %s\n", s); break;
      case ENOENT:
        fprintf(stderr, "No such directory: %s\n", s); break;
      case EACCES:
        fprintf(stderr, "Access is denied: %s\n", s); break;
      default:
        fprintf(stderr, "Unknown error.\n"); break;
    }
  } else
    printf("Deleted: %s\n", s);



}



비어 있지 않은 디렉토리를 지우려 하면 Directory is not empty (빈 디렉토리가 아니다) 라는 에러가 납니다.

존재하지 않는 디렉토리명을 지정하면, No such directory (그런 디렉토리가 없다) 라는 에러가 납니다.

읽기 전용 속성의 디렉토리(폴더)일 경우에는 Access is denied (접근이 거부되었다) 라는 에러가 납니다.

디렉토리가 아닌 "파일"을 지우려고 하면 Unknown error (알 수 없는 에러) 가 납니다. ENOTDIR (Not a directory; 디렉토리가 아니다) 상수가 인식되지 않더군요 -_-?

(업데이트: 비주얼C++ 2005에서는 ENOTDIR 상수를 쓸 수 있을 것입니다. 그리고 VC++ 2005에서는 EACCES 상수를 EACCESS 이렇게 해야 하는 것 같습니다.)




디렉토리가 아닌, 파일을 지우는 법: ▶▶ C언어] 파일 지우기, 파일 삭제 함수 사용법; Delete File, Remove File

☞ C/C++

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