栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

Ubuntu中C++查看文件夹是否存在并创建

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Ubuntu中C++查看文件夹是否存在并创建

C++在Ubuntu下查看文件夹是否存在并创建新文件夹 查看是否存在

使用unistd.h头文件中的access函数

#include

截取unistd.h函数声明如下

#define	R_OK	4		
#define	W_OK	2		
#define	X_OK	1		
#define	F_OK	0		


extern int access (const char *__name, int __type) __THROW __nonnull ((1));

传入的两个变量分别是文件夹的路径,以及需要查询的权限,6代表读写权限,0代表存在与否。使用方法如下

std::string folderpath = "/";
if(access(folderpath.c_str(), 0)){
 	std::cout<<"folder does not exist! Will create a new one!" < 
创建文件夹:方法一 

使用stat.h中的mkdir函数

#include   // 注意:这个头文件在sys下面

截取stat.h函数声明如下:

extern int mkdir (const char *__path, __mode_t __mode)
     __THROW __nonnull ((1));

传入的两个参数一个是路径名,另一个是权限,使用方法如下

if(mkdir(folderpath.c_str(), 0771) == 0){ // 成功返回0,不成功返回-1
		std::cout<<"Created successfully"< 
创建文件夹:方法二 

使用标准c库函数(stdlib.h)中的system函数调用Shell命令

std::string command = "mkdir -p " + folderpath;
systm(command.c_str());

这样的效果与直接在命令行中输入如下命令效果一样

mkdir -p 
注意

access和mkdir函数所定义的传入的路径名类型均为char*,使用std::string类型的文件名需要使用.c_str()。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/429572.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号