C++文件目录操作---opencv和boost例子
2016-09-16 00:35
716 查看
通常需要对文件夹进行操作,在不使用qt的库的情况下,还可以利用opencv和boost进行。这样方便程序的移植
(当然标准c/c++应该也有相应的操作)
经测试,opebcv和boost拿到的文件夹下面的文件名,是乱序的,需要根据文件名进行排序
一、opencv操作:
主要参照:http://blog.csdn.net/holybin/article/details/25786727
二、boost操作:
boost模块还没有找到如何给文件名进行排序的方法
在CMakeLists.txt中添加:
target_link_libraries(boostfiletest "/usr/local/lib/libboost_system.so" "/usr/local/lib/libboost_filesystem.so" )
经测试,不需要绝对路径也可以,因为在系统制定的库目录中,
(当然标准c/c++应该也有相应的操作)
经测试,opebcv和boost拿到的文件夹下面的文件名,是乱序的,需要根据文件名进行排序
一、opencv操作:
主要参照:http://blog.csdn.net/holybin/article/details/25786727
#include <iostream> #include <vector> #include <opencv2/contrib/contrib.hpp> using namespace std; using namespace cv; int main() { string dir_path = "/home/wk/DataSet/Phone/vins2/cam0/"; Directory dir; vector<string> filenames = dir.GetListFiles(dir_path, "*", false); std::sort(filenames.begin(),filenames.end(),less<string>()); //升序排列,降序排列的话是greater<>() 很重要,根据文件名进行排序 cout << filenames.size() << endl ; for(int i = 0; i< filenames.size(); i++) { cout<< filenames[i].substr(0,filenames[i].size()-4)<< endl; //这里-4,是去掉扩展名 } return 0; }
二、boost操作:
boost模块还没有找到如何给文件名进行排序的方法
#include <iostream> #include <boost/filesystem.hpp> using namespace std; int main() { const boost::filesystem::path path("/"); boost::filesystem::directory_iterator end; boost::filesystem::directory_iterator iter_file(path); for(iter_file ; iter_file != end ; iter_file++) { cout<<*iter_file<<endl; } return 0; }注意,boost::filesystem并不是直接包含头文件就可以解决的,需要添加库依赖。
在CMakeLists.txt中添加:
target_link_libraries(boostfiletest "/usr/local/lib/libboost_system.so" "/usr/local/lib/libboost_filesystem.so" )
经测试,不需要绝对路径也可以,因为在系统制定的库目录中,
target_link_libraries(boostfiletest "libboost_system.so" "ibboost_filesystem.so" )
相关文章推荐
- C++使用BOOST操作文件、目录
- C#--文件和目录操作小例子
- paip.c++ qt 目录遍历以及文件操作
- c++ 利用boost 实现文件操作
- boost之filesystem库,目录文件操作函数
- c++用boost的property_tree库来操作xml配置文件
- Boost C++ Libraries 遍历文件目录
- paip.c++ qt 目录遍历以及文件操作
- C,C++文件和目录操作的一些整理
- c++ 利用boost 实现文件操作
- C++学习之:文件目录操作函数
- Linux C/C++ ----目录文件的操作(opendir,readdir,closedir)
- linux c/c++ 编程之-----文件目录操作
- [C/C++][文件操作] 对比目录并列出同名较新文件、较旧文件 0.1
- C++ 目录文件操作(持续更新)
- C++文件与文件夹操作(2)--判断并筛选文件夹目录下特定后缀文件
- *Delphi中ExtractFilePath、ParamStr以及更多文件/目录操作涉及的函数。附加对应的例子
- c++操作文件初体验,读写数据小例子
- c++ 利用boost 实现文件操作
- C++文件目录的创建,复制等操作