#include #include using namespace std; using namespace boost::filesystem; static string gvGetFileType(const file_type avFileType) { switch (avFileType) { case status_unknown: return "status unknown"; case file_not_found: return "file not found"; case regular_file: return "regular file"; case directory_file: return "directory file"; case symlink_file: return "symbolic link file"; case block_file: return "block special file"; case character_file: return "character special file"; case fifo_file: return "fifo file"; case socket_file: return "socket file"; case type_unknown: default: return "type unknown"; } } static void gvDisplayDirEntry(const char* apDescription, const char* apPath) { path vPath(apPath); directory_entry vDirEntry(vPath.make_preferred()); cout << apDescription << ":" << endl << endl << " " << vDirEntry.path().native() << " status is " << gvGetFileType(vDirEntry.status().type()) << endl << endl; } int main(int /*argc*/, char* argv[]) { gvDisplayDirEntry("An unknown path", "dummy"); gvDisplayDirEntry("A file path", argv[0]); gvDisplayDirEntry("A directory path", current_path().string().c_str()); return 0; }