<boost-05> boost::filesystem 常用命令集合

来源:互联网 发布:算法心得 原书 编辑:程序博客网 时间:2024/05/16 09:29
  • 命名空间声明 & 引用头文件声明:使用fs来简化操作
#include <boost/filesystem.hpp>#include <iostream>  namespace fs = boost::filesystem;
  • 定义path
std::string dir="C:\\Folder1\\Folder2";fs::path path(dir);
  • 判断path是否为空
if (!fs::exists(path)) {return -1;}
  • boost::filesystem::path转为std::string
std::string str=path.string();
  • 创建新的目录;
std::string new_path="C:\\Folder1\\NewFolder2";fs::create_directory(new_path);
  • 创建目录指针,并用来判断获取类型是文件还是文件夹
fs::directory_iterator iter(path);if (fs::is_directory(iter->status())){//判断是否为目录文件}if (fs::is_regular_file(iter->status())){//判断是否为普通文件}
  • 获取文件的类型名、文件名、上层文件夹及名称;
std::string file="C:\\Folder1\\Folder2\\file.txt";fs::path path(file);\\定义pathif (p.extension().compare(".jpg") == 0){return true; }//获取类型名".txt",并与".jpg"进行比较fs::path fileName=path.stem();//文件名称"file"fs::path parentPath=path.parent_path();//获取上层文件目录"C:\\Folder1\\Folder2"std::string folderName=(path.parent_path()).string();//获取文件夹目录Folder2
  • 文件及文件夹名称合成
std::string in_file="C:\\file.jpg";//输入文件的路径std::string out_dir="D:\\folder1\\folder2\\";//输出文件的目录fs::path in_path(in_file);fs::path out_path(out_dir);//"D:\\folder1\\folder2\\"if(!fs::exist(out_path)){ fs::create_directory(out_path);}//如果文件不存在,则新建之out_path/=in_path.stem();//提取输入文件名 file,添加到路径后面"D:\\folder1\\folder2\\file"std::string output_str=out_path.string()+".bmp";//输出"D:\\folder1\\folder2\\file.bmp"
0 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 换了护照后签证怎么办 护照签证页满了怎么办 我救护证过期了怎么办 友信贷款逾期4年怎么办 七日杀背包满了怎么办 东西被海关扣了怎么办 寄的快递破损了怎么办 苹果4s屏幕锁定怎么办 怀孕一个月同床了怎么办 故申请了不搬迁怎么办? 签证办好了不去怎么办 l签个人怎么办直飞香港 巴萨b队升入西甲怎么办 一天吃了2次金戈怎么办 京东发票掉了怎么办 京东发票丢了怎么办 京东的发票丢了怎么办 发票顺序拿错了怎么办 我被西海岸骗了怎么办? 微信功能被限制怎么办 微信限制领红包怎么办 微信无法领红包怎么办 微信红包不能收怎么办 抢红包被限制了怎么办 qq被限制加群怎么办 电脑拒绝访问u盘怎么办 炒菜味精放多了怎么办 魅族不能发短信怎么办 话费被恶意扣费怎么办 手机被恶意扣费怎么办 话费被软件扣费怎么办 小孩玩手机扣费怎么办 孩子玩手机扣费怎么办 手机被游戏扣费怎么办 冰岛签证拒签了怎么办 鱼缸内长青苔了怎么办? 毛巾用久了变硬怎么办 胃胀气一直嗝气怎么办 吃饭不给钱跑了怎么办 记分周期满12分怎么办 被马蜂蛰了很疼怎么办