C++学习
C++博客
::
首页
::
联系
::
聚合
::
管理
3 Posts :: 0 Stories :: 0 Comments :: 0 Trackbacks
常用链接
我的随笔
我的评论
我参与的随笔
留言簿
给我留言
查看公开留言
查看私人留言
我参与的团队
随笔档案
2009年9月 (3)
搜索
最新评论
阅读排行榜
1. 使用boost中的filesystem类库查找某目录下的全部dll文件(2727)
2. 学习笔记——多线程(411)
3. 学习笔记 9-7(194)
评论排行榜
1. 学习笔记——多线程(0)
2. 学习笔记 9-7(0)
3. 使用boost中的filesystem类库查找某目录下的全部dll文件(0)
使用boost中的filesystem类库查找某目录下的全部dll文件
#pragma once
#ifndef get_all_dll_file_of_path_h
#define
get_all_dll_file_of_path_h
#include
<
boost
/
filesystem.hpp
>
#include
<
vector
>
#include
<
string
>
#include
<
iostream
>
namespace
fs
=
boost::filesystem;
void
getAllFileOfPath(std::vector
<
std::
string
>&
dllNames)
{
std::
string
strPath
=
"
../debug/
"
/**/
/*
"f:\\c++\\study\\debug\\"
*/
;
fs::path fullPath(fs::initial_path());
//
初始化为本项目路径
fullPath
=
fs::system_complete(fs::path(strPath,fs::native));
//
将相对路径转换为绝对路径
//
注:fullPath 使用相对路径、绝对路径都可行
if
(
!
fs::exists(fullPath))
//
路径是否存在
{
std::cout
<<
"
找不到指定目录,请检查该目录是否存在:
"
;
std::cout
<<
fullPath.native_file_string()
<<
std::endl;
//
输出路径名
return
;
}
if
(
!
fs::is_directory(fullPath))
//
是否是目录
{
std::cout
<<
"
指定路径不是目录
"
;
std::cout
<<
fullPath.native_file_string()
<<
std::endl;
return
;
}
fs::directory_iterator end_iter;
for
(fs::directory_iterator file_itr(fullPath); file_itr
!=
end_iter;
++
file_itr)
{
if
(
!
fs::is_directory(
*
file_itr)
&&
(fs::extension(
*
file_itr)
==
"
.dll
"
))
//
文件后缀
{
dllNames.push_back(file_itr
->
leaf());
//
获取文件名
}
}
std::vector
<
std::
string
>
::iterator itr
=
dllNames.begin();
for
(;itr
!=
dllNames.end();
++
itr)
{
std::cout
<<*
itr
<<
std::endl;
}
}
#endif
//
get_all_dll_file_of_path_h
posted on 2009-09-18 11:13
holyhw
阅读(2727)
评论(0)
编辑
收藏
引用
只有注册用户
登录
后才能发表评论。
【推荐】100%开源!大型工业跨平台软件C++源码提供,建模,组态!
网站导航:
博客园
IT新闻
BlogJava
知识库
博问
管理
Copyright @ holyhw
Powered by:
.Text
and
ASP.NET
Theme by:
.NET Monster