씨언어 #define ALL_ATTRIB (FA_RDONLY|FA_HIDDEN|FA_SYSTEM|FA_LABEL|FA_DIREC|FA_ARCH) 그리고 <-----이게 뭐하는거지요??
글쓴이: seojh1431 / 작성시간: 수, 2014/11/26 - 8:29오후
씨쁠쁠로 코딩 되어 있는것을 씨로 고치는 중입니다만..(씨와 얼추 비슷하지만 씨쁠쁠이라고 판단하게된 이유는 microsoft visual C++2010 에서 돌려봤을때 빨간 줄 뜨는것을 보니.. 꽤 많았습니다.) 잘 모르는 헤더파일과 모르는 함수들이 많이 있더라구요.... 코드 보시고 제가 모르는 코드를 주석처리 해놨는데 그것좀 가르쳐주세요.. 메인함수도 없는걸 보니... 메인함수는 제가 직접 코딩하고 있씁니다.
#include "stdio.h" #include "dos.h" #include "dir.h" //여기서 열수 없는 헤더파일이라고 나오네요.. 이건 뭐하는것이죠?? #define MAXPATH 80 #define ALL_ATTRIB (FA_RDONLY|FA_HIDDEN|FA_SYSTEM|FA_LABEL|FA_DIREC|FA_ARCH) // 무슨 정의인지 잘 모르겠씁니다.. int countFile; void findfile (char *mask) { char path[MAXPATH]; /* 현재 경로를 저장할 공간 */ struct ffblk info; // 여기서 오류가 뜨는데 무슨 의도인지 잘 모르겠네요 /* 현재 디렉토리에서 파일 마스크에 해당하는 파일을 모두 찾음 */ if (findfirst(mask, &info, ALL_ATTRIB) == 0) // ALL_ATTRIB 이게 오류가 뜹니다...findfirst는 _findfirst 라고 변경하고 // typedef struct _finddata_t FILE_SEARCH; 라고 제일 위에 처리 해주니 오류가 안뜨더군요. { do { getcwd(path, MAXPATH); /* 현재의 경로를 얻음 */ printf ("\nTEST MASK {%d} : {%s}", countFile++, mask); /* TEST */ printf ("\n%s%s%s\n", path, /* 출력 : 현재의 경로 + (\) + 파일명 */ strlen(path) == 3 ? "" : "\\", info.ff_name); /* root \ sub */ } while(findnext(&info) == 0); } /* 모든(*) 디렉토리를 검색 */ if (findfirst("*", &info, FA_DIREC) == 0) { do { if (info.ff_name[0] == '.' || info.ff_attrib != FA_DIREC) continue; /* .(자신)와 ..(상위)를 배제하고 디렉토리(FA_DIREC 버그)인지 확인 */ chdir(info.ff_name); /* 서브 디렉토리로 추적 */ findfile(mask); /* 재귀 호출 (파일 찾고 서브 디렉토리 추적) */ chdir (".."); /* 상위 디렉토리로 돌아옴 */ } while(findnext(&info) == 0); /* 다음 디렉토리를 찾는다 */ } }
즉, 이 코드에서 주석처리해놓고 잘 모르겠다고 표시가 된것이 있는데 그 표시 된 함수가 뭐하는건지.. 그리고 씨언어로는 어떻게 바꿔야되는지좀 가르쳐주세요
Forums:
댓글 달기