본문 바로가기

Programming/▷ C

[C] 파일 or 디렉토리 식별

[파일 디렉토리 식별 예시 코드]

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
#pragma warning ( disable : 4996 )
#include <stdio.h>
#include <io.h>        
 
int isFileOrDir(char* s);
 
int main(void) {
    char* filename = "C:\\test";
 
    int result = isFileOrDir(filename);
 
    if (result == 1)
        puts("파일입니다.");
    
    else if (result == 0)
        puts("디렉토리입니다.");
    else    //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;
}
cs


'Programming > ▷ C' 카테고리의 다른 글

Project_Ransomware  (0) 2018.09.13
[C] AES 128bit Encrypt/Decrypt  (0) 2018.06.15
C base64 encode/decode  (0) 2018.06.11
[C] 파일 하위 디렉토리 까지 탐색 코드  (15) 2017.10.24
[C] 파일 확장자 변경 예시  (0) 2017.10.24