|
권윤진 님이 쓰신 글 :
: 디렉토리를 자동을 세어주는 함수는 없나여?..
: 디렉토리 안에있는 예를 들어..
: c드라이브 밑에 temp라는 디렉토리가 있다면.. 그 템프안에있는 디렉토리의 수를 카운트하는 법은?
: 꼭 아라야 하는데.. 참.. 서브 서브디렉토리는 포함하지 않습니다...
: 부탁합니다.
제가 워낙초짜라 잘모르지만 자동적으로 그렇게해주는 함수는 모르겠구요...
두 가지 방법이 있겠죠...아마도...
첫째로는
DirectoryListBox를 이용하는거죠.. 이건 그냥
폼에 부쳐서 해당 디렉토리로 체인지 디렉토리 한 후에
DirectoryListBox->Item->Count롤 알수 있겠죠...
두번째는
findfirst와 findnext 글구 findclose를 이용해서 갯수를 셀 수
있을거여요~~..(win api도 있구 vcl 함수도있구 등...)
예를 들면..
int __fastcall TForm1::GetCount()
{
WIN32_FIND_DATA fd;
HANDLE hFind;
char *path = "C:\\Windows\\Temp\\*.*"; // 현재 구하시고 싶은 디렉토리위치 + \\*.*
int count = 0;
hFind = FindFirstFile(path, &fd);
while (hFind != INVALID_HANDLE_VALUE && bRet) {
if ((fd.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY)) {
count++;
}
bRet = FindNextFile(hFind, &fd);
}
FindClose(hFind);
// 아마도 여기나온 count에서 2를 빼야 할거여요...
// 왜냐면 .(현재 자기자신)놈하고 ..(상위디렉토리)놈들이 들어 오거든요..
return count - 2;
}
확인은 안해본 코드니까 이상하시면 help를 이용하셔서
쓰시기 바랍니다..
즐거운 하루 되십시요....
|