linux 判断目录是否存在并创建

C语言判断文件夹或者文件是否存在的方法 C语言判断文件夹或者文件是否存在的方法 C语言判断文件夹 立即下载

1   用   int   access(const   char   *pathname,   int   mode);   判断有没有此文件或目录 --它区别不出这是文件还是目录
2   用   int   stat(const   char   *file_name,   struct   stat   *buf); 判断该文件或目录是否否存在 ;得到st_mode,然后判断是不是目录文件。 
    stat()系统调用看是否成功,不成功就不存在,成功判断返回的st_mode是否是一个文件夹。

********************************************************************
linux c关于目录是否存在,新建目录等操作
1. 创建目录

       #include <sys/stat.h>
       #include <sys/types.h>

       int mkdir(const char *pathname, mode_t mode);

运用条件:只能在已存在的目录下建立一级子目录

返回值:  返回0表示成功,返回-1表述出错。

mode 表示新目录的权限,可以取以下值:

其中,mode就用0777,0755这种形式。

 
2. 判断一个目录是否存在

可以使用opendir来判断,这是比较简单的办法。

       #include <sys/types.h>
       #include <dirent.h>

       DIR *opendir(const char *name);

       The  opendir()  function  opens  a  directory  stream  corresponding to the directory name, and returns a pointer to the directory

stream.  The stream is positioned at the first entry in the directory.

 

代码
#include <sys/types.h>
#include <sys/stat.h>
#include <dirent.h>
#include <cstddef>
int main()
{
 if(NULL==opendir("/d1/liujian/readdb/adTest/data/html"))
   mkdir("/d1/liujian/readdb/adTest/data/html",0775);
 return 0;
}

 

以上代码可以测试一个目录是否存在,如果不存在就创建这个目录。

 

 

 

 

 

 

 

 

 

 

***********************************

#include<stdio.h>
#include<string.h>
#include<errno.h>

#include<unistd.h>

#include<dirent.h>
#include<sys/types.h>
#include<sys/stat.h>

extern int errno;

#define MODE (S_IRWXU | S_IRWXG | S_IRWXO)

int mk_dir(char *dir)
{
    DIR *mydir = NULL;
    if((mydir= opendir(dir))==NULL)//判断目录 
    {
      int ret = mkdir(dir, MODE);//创建目录
      if (ret != 0)
      {
          return -1;
      }
      printf("%s created sucess!/n", dir);
    }
    else
    {
        printf("%s exist!/n", dir);
    }

    return 0;
}

int mk_all_dir(char *dir)
{
    bool flag = true;
    char *pDir = dir;
    while (flag)
    {
        char *pIndex = index(pDir, '/');
        if (pIndex != NULL && pIndex != dir)
        {
            char buffer[512] = {0};
            int msg_size = pIndex - dir;
            memcpy(buffer, dir, msg_size);
            int ret = mk_dir(buffer);
            if (ret < 0)
            {
                printf("%s created failed!/n", dir);
            }
        }
        else if (pIndex == NULL && pDir == dir)
        {
            printf("dir is not directory!/n");
            return -1;
        }
        else if (pIndex == NULL && pDir != dir)
        {
            int ret = mk_dir(dir);
            if (ret < 0)
            {
                printf("%s created failed!/n", dir);
            }

            break;
        }

        pDir = pIndex+1;

    }

    return 0;
}

 

int main()
{
    char buffer[512] = {0};
    printf("please input path mane/n");
    fgets(buffer, sizeof(buffer), stdin);
    
    char *pIndex = index(buffer, '/n');
    if (pIndex != NULL)
    {
        *pIndex = '/0';
    }

    printf("check path mane %s/n", buffer);

    int ret = mk_all_dir(buffer);
    if (ret < 0)
    {
        printf("% mkdir failed!/n", buffer);
        return -1;
    }

    return 0;
}

C# Socket网络通信UDP(关键字:Socket) 简单Socket-Udp通信 在本文中涉及到通信,仅做简单的通信(服务端接受消息,由客户端发出消息) 如有需要,根据需求可直接copy使用 关键字Socket 需要引用命名空间: using System.Net; using System.Net.Sockets; 服务端: using System; using System.Net; using System.Net.Sockets; u... 阅读详情

相关推荐

《统计学习方法》——李航 学习大纲

最近在学习李航写的统计学习方法概论, 每一章都用xmind理清了思路,括号里是书里的公式,第一次写博文,敬请指教~~~~ 第一章 统计学习方法论 第二章 感知机 每个方法其实只需要着重掌握三要素和输入输出就可以了,主要看模型、策略和算法。 感知机主要是二类分类的线性分类模型。 看到后面会注意感知机和支持向量机的区别。 第三章 k近

wjy619251334的博客 1万+

C语言判断文件或文件夹是否存在

汇总网上搜集的资料,总结了下述几种方法用于判断文件或者文件夹是否存在,注意每个函数的头文件引用。函数定义#include int access(const char * pathname, int mode);函数说明可用于判断文件或者目录是否存在, 会检查是否可以读/写某一已存在的文件,只作权限的核查, 并不理会文件形态或文件内容,因此,如果一目录表示为"可写入",表示可以在该目录中建立新文件等操作,而非意味此目录可以被当做文件处理为文件或文件夹的路径,当前目录直接使用文件或文件夹名

m0_54853503的博客 6508

【C++PTA】6-1 Point类的运算 (10 分)

定义Point类,有坐标x,y两个私有成员变量;对Point类重载“+”(相加)、“-”(相减)和“==”(相等)运算符,实现对坐标的改变,要求用友元函数和成员函数两种方法实现。对Point类重载<<运算符,以使得代码 Point p; cout<<p<<endl;可以输出该点对象的坐标。 函数接口定义: 实现Point类。 裁判测试程序样例: /* 请在这里填写答案 */ int main(int argc, char const *argv[]) { P

libertye的博客 2367

判断文件或文件夹(目录)是否存在 C/C++ win/linux通用

一、windows下使用_access()或linux下使用access()函数 windows下使用_access()函数 所在头文件:<io.h> 函数原型:int _access(const char* _Filename, int _AccessMode); _Filename:文件或文件夹(目录)路径,可为绝对路径、相对路径; _AccessMode:指定判断的模式,包含4种; _AccessMode=00 表示只判断是否存在 _AccessMode=02 表示文件是否可执行 _

duiwangxiaomi的博客 8376

Java使用easyExcel生成excel文件直接写入邮件附件并发送

1.引入pom依赖 <!-- email --> <dependency> <groupId>javax.mail</groupId> <artifactId>mail</artifactId> <version>1.4.7</version> </dependency> <!-- easyexcel需要依赖poi jar包 --> <depe

weixin_50493320的博客 3910

eNSP-Pro配置又丢了?手把手教你用导出功能防患于未然

本文详细介绍了eNSP-Pro配置防丢失的全套方案,包括运行时内存、虚拟存储设备和宿主机文件系统的配置存储机制,以及多维度备份策略和特殊场景下的恢复技巧。通过优化保存流程、自动化定时导出和版本化管理,帮助网络工程师有效防止配置丢失,提升工作效率。

weixin_42665725的博客 242

头文件mkdir linux,判断目录是否存在并创建mkdir

Linux下mkdir函数头文件库:#include #include 函数原型:int mkdir(const char *pathname, mode_t mode);函数说明:mkdir()函数以mode方式创建一个以参数pathname命名的目录,mode定义新创建目录的权限。返回值:若目录创建成功,则返回0;否则返回-1,并将错误记录到全局变量errno中。mode方式:S_IRWXU0...

weixin_39773158的博客 724

四足机器人跨楼层轨迹规划:SCAN-Planner-Pure-ROS2开源项目实践指南

在机器人导航领域,路径规划是让机器人从起点安全、高效移动到目标点的核心技术。其原理通常基于环境地图(如占据栅格地图或八叉树地图),通过搜索算法(如A*、RRT*)在配置空间中找到一条无碰撞的可行路径。这项技术的价值在于赋予机器人在复杂、非结构化环境中的自主移动能力,是巡检、救援、物流等应用场景的基石。对于四足机器人而言,其运动能力超越了轮式平台,能在楼梯、斜坡等三维地形中移动,这使得传统的二维规划不再适用,需要专门的三维轨迹规划算法。SCAN-Planner-Pure-ROS2正是这样一个专注于解决四足机器

weixin_30700977的博客 466

Linux 判断文件或文件夹是否存在

Linux 判断文件或文件夹是否存在 shell脚本执行 1、文件存在则删除 if [ -f "filename" ];then rm -d filename fi 或者 if [ ! -f "/data/filename" ];then echo "文件不存在" else rm -d /data/filename fi 2、文件不存在则创建 if [ ! -d "/data/" ];then mkdir /data else echo "文件夹已经存在" fi 3、判断文件夹是否存在 if [ -d

qq_45484237的博客 2万+

网络安全学习路线是怎样的?

为什么要学习安全? 近几年网络安全事件层出不穷,相信大家哪怕没遇到过,但也听过不少了吧。如服务器遭受入侵被黑,用户帐号被盗;被钓鱼、勒索病毒等,这些一旦发生,对企业而言都是不小的打击。因此,网络安全不容忽视,同时随着时代的不断发展,公司对于运维及网络工程师要求也越来越严格。未来越来越吃香的一定是技能方向广的复合型人才。网络安全可以说是一条非常好的发展道路。 今年两会期间,全国政协委员,360集团创始人、董事长周鸿祎提交了关于网络安全行业特殊人才的提案,为广大白帽子人员争取更好...

网安技术分享 8697

【CT/电镜 重建教程 1.1】层析成像的精确实空间迭代重建算法(RESIRE)

在此,我们报告了RESIRE算法的发展用于准确的断层重建。与实空间迭代算法相比,RESIRE使用傅里叶切片定理或Radon变换作为正向投影,使用线性变换作为反向投影,两者都具有高精度。与EST和GENFIRE相比,RESIRE是一种实空间迭代算法,可以在并行计算中实现快速运行时间。

2401_87064292的博客 1062

linux下mkdir头文件_Linux中判断一个目录是否存在,如果不存在就创建这个目录

在操作文件目录时我们常常会考虑如下的功能:1、判断文件是否存在,并判断文件是否可写/目录是否存在Linux下:#includeint access(const char* pathname, int mode);参数介绍:返回值:成功0,失败-1pathname 是文件的路径名+文件名mode:指定access的作用,取值如下:F_OK 值为0,判断文件是否存在X_OK 值为1,判断对文件是可执行...

weixin_29615645的博客 2788

【深度学习基础】多任务学习(Multi-Task Learning)

多任务学习(Multi-task learning)是和单任务学习(single-task learning)相对的一种机器学习方法。在机器学习领域,标准的算法理论是一次学习一个任务,也就是系统的输出为实数的情况。复杂的学习问题先被分解成理论上独立的子问题,然后分别对每个子问题进行学习,最后通过对子问题学习结果的组合建立复杂问题的数学模型。多任务学习是一种联合学习,多个任务并行学习,结果相互影响。一次只学习一个任务(task),大部分的机器学习任务都属于单任务学习。

十二月的猫 1万+

linux API 判断目录是否存在

//create folder struct stat statbuf; if ( 0 != stat("./myfolder",&statbuf))   //If failed to get the status of this directory {      if

nodeathphoenix的专栏 3167

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

Linux shell判断文件或者目录是否存在

-e filename 如果 filename存在,则为真 -d filename 如果 filename为目录,则为真 -f filename 如果 filename为常规文件,则为真 -L filename 如果 filename为符号链接,则为真 -r filename 如果 filename可读,则为真 -w filename 如果 filename可写,则为真 -x filename 如果 filename可执行,则为真 -s filename 如果文件长度不为0,则为真 -h filename.

qq_44737312的博客 3万+

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

Linux判断目录是否存在命令,Linux shell 中判断文件、目录是否存在的方法

本文主要介绍了Linux 中 使用 shell 判断文件、目录是否存在的方法,分享给大家。

ALex_zry的博客 3298

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

linux shell判断文件是否为链接,Linux shell判断文件和文件夹是否存在(转发)

#!/bin/shmyPath="/var/log/httpd/"myFile="/var /log/httpd/access.log"#这里的-x 参数判断$myPath是否存在并且是否具有可执行权限if [ ! -x "$myPath"]; thenmkdir "$myPath"fi#这里的-d 参数判断$myPath是否存在if [ ! -d "$myPath"]; thenmkdir "$...

weixin_29038345的博客 1801

奥塔在线:Linux下按日期自动创建目录脚本

自动创建目录脚本如下: #!/bin/bash #获取当前年代 currentyear=$(date +%Y); #获取当前日期 currentmonthdate=$(date +%Y%m%d); echo "current year:$currentyear"; echo "current date:$currentmonthdate"; #判断目录是否存在 if [ -d "/root...

奥塔在线 2483

c include 多层目录_详解C++循环创建多级目录及判断目录是否存在的方法

C++循环创建多级目录#include "unitfiles.h"#ifdef WIN32#include #include #elif LINUX#include #include #endif#ifdef WIN32#define ACCESS _access#define MKDIR(a) _mkdir((a))#elif LINUX#define ACCESS access#define ...

weixin_35805266的博客 446

C/C++创建目录函数,支持windows和linux

最近因为项目原因,需要写一个根据路径字符串创建目录的函数,需要支持windows和linux,特贡献出来。 1。首先请加上这些预编译 #ifdef _WIN32 #include #include #elif _LINUX #include #include #endif #ifdef _WIN32 #define ACCESS _access #defi

guduandejiaoyin6919的专栏 696

linux 脚本判断一个目录不存在

linux 脚本判断一个目录不存在#!/bin/sh if[!-d/mnt/u];then mkdir-p/mnt/u fi 转载于:https://blog.51cto.com/461205160/1747554

weixin_33872660的博客 159

Linux中判断文件和目录是否存在的shell命令总结

本文主要介绍了Linux 中 使用 shell 判断文件、目录是否存在的方法,分享给大家。

m0_74824865的博客 558

C 判断路径存在

1 用 int access(const char *pathname, int mode); 判断有没有此文件或目录 --它区别不出这是文件还是目录2 用 int stat(const char *file_name, struct stat *buf); 判断该文件或目录是否否存在 ;得到st_mode,然后判断是不是目录文件。...

weixin_30709061的博客 396

创建一个具有判断功能的文件备份脚本

判断指定的源文件是否存在且为普通文件,如不存在,显示错误信息并退出。判断文件是否为空(大小大于 0),如为空文件,显示错误信息并退出。生成带有时间戳的备份文件名(格式:原文件名.bak_年-月-日)执行备份并显示详细信息,反馈备份成功或失败的结果。包含目录检查创建、文件存在性检查和空文件检查。判断备份目录是否存在,如不存在,使用。自动创建(支持创建多级目录)

weixin_59104495的博客 320
上一篇: online random forest
下一篇: linux stat函数讲解
ffeng271
博客等级 码龄19年 139粉丝 0原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值