Linux
#include <dirent.h>
int main()
{
char *pCurName=new char[100];
getcwd(pCurName,100);
DIR *dir=opendir(pCurName);
struct dirent *ptr;
if(dir)
{
while((ptr=readdir(dir)))
{
cout<<ptr->d_name;
if(ptr->d_type==DT_DIR)
{
cout<<"----------->DIR";
}
cout<<endl;
}
closedir(dir);
}
cout<<pCurName<<endl;
delete[] pCurName;
return 0;
}
Windows
#include <io.h>
int main()
{
_finddata_t file_info;
long l=_findfirst("G:/*.*", &file_info);
if (l != -1)
{
do
{
cout << file_info.name;
if (file_info.attrib & _A_SUBDIR)
cout << "------->Dir";
cout<< endl;
} while (_findnext(l,&file_info)!=-1);
_findclose(l);
}
getchar();
return EXIT_SUCCESS;
}
/***********************************************/
WIN32_FIND_DATA find_file_data;
::FindFirstFile()
::FindNextFile()
FindClose()