현재 디렉토리의 정보를 알아내는 법
C++ 2007. 10. 27. 02:19 |다음 소스 프로그램은 현재 디렉토리의 모든 서브 디렉토리에 있는 파일을 찾아서 파일 이름을 모두 소문자로 바꾸는 루틴입니다. 자세한 내용은 각 함수별로 도움말을 참조하기 바랍니다.
void lookup()
{
char new_filename[100];
int leng;
struct _finddata_t c_file;
long hFile;
int temp = 0;
if ((hFile = _findfirst("*.*",&c_file)) == -1L) {
cout << "error" << endl;
}
for (; temp == 0; temp = _findnext(hFile,&c_file)){
leng = strlen(c_file.name);
if ((c_file.attrib & _A_SUBDIR) == _A_SUBDIR){
if (c_file.name[0] != '.'){
_chdir(c_file.name);
lookup();
_chdir("..");
}
continue;
}
else if ((c_file.attrib & _A_ARCH) != _A_ARCH) continue;
for(int i = 0;i < leng;i++){
new_filename[i] = tolower(c_file.name[i]);
}
new_filename[i] = '\0';
rename(c_file.name, new_filename);
}
_findclose(hFile);
}