linux C/C++文件路径操作
标题1、 access函数查找文件夹是否存在/文件是否有某权限
头文件:
在windows环境下头文件为:
#include <io.h>
在linux环境下头文件为:
#include <unistd.h>
函数原型:
int access(const char* _Filename, int _AccessMode)
功能及返回值:
该函数功能为确定文件或文件夹的访问权限,如果指定的访问权限有效,则函数返回0,否则返回-1。
参数说明:
_Filename可以是文件路径,也可以是文件夹路径,可以使用绝对路径或相对路径。
_AccessMode表示要验证的文件访问权限,有可读、可写、可执行以及是否存在四种权限, 可以使用 | (位或)来同时验证多个权限,如F_OK|X_OK
_AccessMode 含义
F_OK 判断是否存在
X_OK 文件是否可执行
W_OK 文件是否可写
R_OK 文件是否可读
备注:
当Filename表示文件夹路径时仅能查询该路径是否存在,即_AccessMode参数应为F_OK。此外Windows中还可以使用_access函数,使用方法上没有区别。
标题2 mkdir函数创建文件夹
头文件:
windows环境下头文件为:
#include <direct.h>
Linux环境下头文件为:
#include <sys/stat.h>
函数原型:
windows环境下:
int mkdir(const char *_Path)
Linux环境下:
int mkdir(const char *pathname, mode_t mode)
功能及返回值:
该函数功能为建立一个新的目录,创建成功则返回0,否则返回-1。
参数说明:
_Path 新建文件夹路径,可使用绝对路径,可也用相对路径。
Linux环境下:
*pathname 同样为文件夹路径。
mode 为不同的权限。
mode 含义
S_IRWXU 00700权限,代表该文件所有者拥有读,写和执行操作的权限
S_IRUSR(S_IREAD) 00400权限,代表该文件所有者拥有可读的权限
S_IWUSR(S_IWRITE) 00200权限,代表该文件所有者拥有可写的权限
S_IXUSR(S_IEXEC) 00100权限,代表该文件所有者拥有执行的权限
S_IRWXG 00070权限,代表该文件用户组拥有读,写和执行操作权限
S_IRGRP 00040权限,代表该文件用户组拥有可读的权限
S_IWGRP 00020权限,代表该文件用户组拥有可写的权限
S_IXGRP 00010权限,代表该文件用户组拥有执行的权限
S_IRWXO 00007权限,代表其他用户拥有读,写和执行操作的权限
S_IROTH 00004权限,代表其他用户拥有可读的权限
S_IWOTH 00002权限,代表其他用户拥有可写的权限
S_IXOTH 00001权限,代表其他用户拥有执行的权限
参数可以使用位或的方式叠加,如S_IRWXU|S_IRGRP|S_IXGRP|S_IROTH|S_IXOTH,或者直接使用数字作为参数,如0777。
备注:
无论是windows还是Linux创建文件夹时,一定要注意文件夹路径上一层之前的路径全部存在!如在C盘下lww文件夹新建一个mytest文件夹,一定要保证”C:\lww”这个路径是存在的!此外Linux下还要注意,使用mkdir创建的文件夹在查看其权限时,发现与程序中可能不同,这是由于默认权限的掩码设置问题,详情请参见https://blog.csdn.net/yangzhengquan19/article/details/83055686,简单来说,在执行mkdir之前,最好加上umask(0),重新设置默认掩码即可创建正确的文件夹权限。 此外Windows中还可以使用_mkdir函数,使用方法上没有区别。
标题3 rmdir函数删除文件夹
头文件:
windows环境下头文件:
#include <direct.h>
linux环境下头文件:
#include <dirent.h>
函数原型:
*int rmdir(const char _Path)
功能及返回值:
函数功能是删除参数指定的文件夹,成功返回0,否则返回-1。
参数说明:
要删除的文件夹路径,可使用绝对路径,可也用相对路径。
备注:
在windows环境下也可使用函数_rmdir函数,使用方法没有区别。
————————————————
版权声明:本文为CSDN博主「TIO·PLATO」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/NCEPUautomation/article/details/108304619
相关文章:
linux C/C++文件路径操作
标题1、 access函数查找文件夹是否存在/文件是否有某权限 头文件: 在windows环境下头文件为: #include <io.h> 在linux环境下头文件为: #include <unistd.h> 函数原型: int access(const char* _Filename, int _Acce…...
Baumer工业相机堡盟相机如何使用BGAPI SDK和Opencv联动实现图像转换成视频(C#)
Baumer工业相机堡盟相机如何使用BGAPI SDK和Opencv联动实现图像转换成视频Baumer工业相机Baumer工业相机SDK技术背景代码分析第一步:先引用OpenCV库第二步:引用图像文件夹生成视频工业相机图像通过OpenCV转为视频的优点工业相机图像转为视频的行业应用…...

Redis常用命令以及如何在Java中操作Redis
前言Redis是一个基于内存的key-value结构数据库,是互联网技术领域使用最为广泛的存储中间件。Redis基于内存存储,读写性能高,适合存储热点数据(热点商品、资讯、新闻)。Redis是一个开源的内存中的数据结构存储系统&…...

ASEMI代理AD7980BRMZRL7原装ADI(亚德诺)车规级AD7980BRMZRL7
编辑:ll ASEMI代理AD7980BRMZRL7原装ADI(亚德诺)车规级AD7980BRMZRL7 型号:AD7980BRMZRL7 品牌:ADI/亚德诺 封装:MSOP-10 批号:2023 安装类型:表面贴装型 AD7980BRMZRL7 汽车…...
leetcode141:环形链表
给你一个链表的头节点 head ,判断链表中是否有环。 如果链表中有某个节点,可以通过连续跟踪 next 指针再次到达,则链表中存在环。 为了表示给定链表中的环,评测系统内部使用整数 pos 来表示链表尾连接到链表中的位置(…...

lattice diamond软件使用
1.diamond软件破解: lisence坚果云下载;或者这个博主操作环境变量设置: 2. 调用IP 有两种方式,依据芯片或者软件版本改变。 传统的IPexpress,每个IP单独例化。 新出的Clarity,多个IP在同一个顶层内调用…...

scala泛型
目录 类型参数 泛型函数: 协变,逆变,不变 泛型上下限: 上下文限定: 泛型是一种类型参数,该类型参数可以用在类、接口和方法中,分别被称为泛型类、泛型接口、泛型方法 类型参数 调用时不指定…...

程序员与ChatGPT的日常问答
程序员与ChatGPT的日常问答GPT3.5与GPT4.0能力对比技术问题工具问题编解码问题其他问题本文记录下调教ChatGPT的日常。 GPT3.5与GPT4.0能力对比 Q:采用同一个问题提问,对比下GPT3.5和GPT4.0的能力区别,比如:帮我列一个小白入门音频…...
如何创建高效的Prompt和ChatGPT等大语言模型AI对话
大语言模型,如OpenAI的GPT-4,是一种基于深度学习技术的自然语言处理工具,它可以理解自然语言并为用户提供有价值的回答。然而,要从大语言模型中获得高质量的回答,你需要学会如何高效地提问。本文将从原理出发ÿ…...

043:cesium加载Bing地图(多种形式)
第043个 点击查看专栏目录 本示例的目的是介绍如何在vue+cesium中加载加载Bing地图。这里显示4种形式的地图,分别为:AERIAL、ROAD、CANVAS_DARK、AERIAL_WITH_LABELS。参考后面的API,还有其他几种形式。 直接复制下面的 vue+cesium源代码,操作2分钟即可运行实现效果. 文章…...

vscode代码片段生成
在刚学习vue的时候,有些代码片段是经常写的,在vscode中写一个代码片段可以帮助快速生成。 生成步骤: VSCode中的代码片段有固定的格式,所以我们一般会借助于一个在线工具来完成。 具体的步骤如下: 第一步,复制自己需…...

数据规整:聚合、合并和重塑
目录一、层次化索引重排与分级排序根据级别汇总统计二、合并数据集数据库风格的DataFrame合并索引上的合并轴向连接合并重叠数据三、重塑和轴向旋转重塑层次化索引将“长格式”旋转为“宽格式”将“宽格式”旋转为“长格式”一、层次化索引 层次化索引(hierarchica…...

开心档之C++ 信号处理
C 信号处理 目录 C 信号处理 signal() 函数 实例 raise() 函数 实例 信号是由操作系统传给进程的中断,会提早终止一个程序。在 UNIX、LINUX、Mac OS X 或 Windows 系统上,可以通过按 CtrlC 产生中断。 有些信号不能被程序捕获,但是下表…...

ChatGPT惨遭围剿?多国封杀、近万人联名抵制……
最近,全世界燃起一股围剿ChatGPT的势头。由马斯克、图灵奖得主Bengio等千人联名的“暂停高级AI研发”的公开信,目前签名数量已上升至9000多人。除了业内大佬,欧盟各国和白宫也纷纷出手。 最早“动手”的是意大利,直接在全国上下封…...

SpringBoot监听器
1.寻找spring.factories配置文件对应的监听器,主要要写监听器的全路径名,不然反射会报错 SpringBoot底层是如何读取META-INF/spring.factories的配置的? 1.遍历所有jar下的META-INF/spring.factories配置文件 2.读取配置文件下的所有属性&a…...

【网络安全】SQL注入--报错注入
报错注入报错注入定义代码展示常用的报错语句1.获取数据库名称2.获取mysql账号密码3.获取表名4.获取字段名5.获取账号密码报错注入定义 报错注入:利用sql语句的不规范,获取相关sql提示信息 代码展示 常用的报错语句 select first_name, last_name FROM…...
APP隐私整改建议
1、违规收集个人信息 情形一: APP首次启动时,未有以弹窗形式明示个人信息保护政策。 改进建议: APP首次启动时,以弹窗等形式向用户明示个人信息保护政策。 情形二: 个人信息保护政策未有说明个人信息处理的目的、方…...

MySQL数据模型 and 通用语法 and 分类
关系型数据库 关系型数据库是由多张能互相连接的二维表组成的数据库。 优点: 1.都是使用表结构,格式一致,易于维护。 2.使用通用的SQL语言操作,使用方便,可用于复杂查询。 3.数据存储在磁盘中,安全。 …...
一款识别域名是否使用cdn的工具cdnChecker
cdnChecker 一款识别域名是否使用cdn的工具 https://github.com/alwaystest18/cdnChecker 背景 红队打点时经常会有收集子域名然后转成ip进而扩展ip段进行脆弱点寻找的需求,如果域名使用cdn,会导致收集错误的ip段,因此我们需要排除cdn来收…...

Ant Design Vue的汉化
Ant Design Vue的汉化 1. 引入依赖 import zhCN from "ant-design-vue/lib/locale-provider/zh_CN"; // 汉化 export default {data () {zhCN,} }2. 标签包裹需要汉化的组件 <a-config-provider :locale"zhCN"><a-table :row-selection"ro…...

23-Oracle 23 ai 区块链表(Blockchain Table)
小伙伴有没有在金融强合规的领域中遇见,必须要保持数据不可变,管理员都无法修改和留痕的要求。比如医疗的电子病历中,影像检查检验结果不可篡改行的,药品追溯过程中数据只可插入无法删除的特性需求;登录日志、修改日志…...

3.3.1_1 检错编码(奇偶校验码)
从这节课开始,我们会探讨数据链路层的差错控制功能,差错控制功能的主要目标是要发现并且解决一个帧内部的位错误,我们需要使用特殊的编码技术去发现帧内部的位错误,当我们发现位错误之后,通常来说有两种解决方案。第一…...
【SpringBoot】100、SpringBoot中使用自定义注解+AOP实现参数自动解密
在实际项目中,用户注册、登录、修改密码等操作,都涉及到参数传输安全问题。所以我们需要在前端对账户、密码等敏感信息加密传输,在后端接收到数据后能自动解密。 1、引入依赖 <dependency><groupId>org.springframework.boot</groupId><artifactId...
Qt Widget类解析与代码注释
#include "widget.h" #include "ui_widget.h"Widget::Widget(QWidget *parent): QWidget(parent), ui(new Ui::Widget) {ui->setupUi(this); }Widget::~Widget() {delete ui; }//解释这串代码,写上注释 当然可以!这段代码是 Qt …...
Auto-Coder使用GPT-4o完成:在用TabPFN这个模型构建一个预测未来3天涨跌的分类任务
通过akshare库,获取股票数据,并生成TabPFN这个模型 可以识别、处理的格式,写一个完整的预处理示例,并构建一个预测未来 3 天股价涨跌的分类任务 用TabPFN这个模型构建一个预测未来 3 天股价涨跌的分类任务,进行预测并输…...

如何在看板中有效管理突发紧急任务
在看板中有效管理突发紧急任务需要:设立专门的紧急任务通道、重新调整任务优先级、保持适度的WIP(Work-in-Progress)弹性、优化任务处理流程、提高团队应对突发情况的敏捷性。其中,设立专门的紧急任务通道尤为重要,这能…...
相机Camera日志分析之三十一:高通Camx HAL十种流程基础分析关键字汇总(后续持续更新中)
【关注我,后续持续新增专题博文,谢谢!!!】 上一篇我们讲了:有对最普通的场景进行各个日志注释讲解,但相机场景太多,日志差异也巨大。后面将展示各种场景下的日志。 通过notepad++打开场景下的日志,通过下列分类关键字搜索,即可清晰的分析不同场景的相机运行流程差异…...

ios苹果系统,js 滑动屏幕、锚定无效
现象:window.addEventListener监听touch无效,划不动屏幕,但是代码逻辑都有执行到。 scrollIntoView也无效。 原因:这是因为 iOS 的触摸事件处理机制和 touch-action: none 的设置有关。ios有太多得交互动作,从而会影响…...

推荐 github 项目:GeminiImageApp(图片生成方向,可以做一定的素材)
推荐 github 项目:GeminiImageApp(图片生成方向,可以做一定的素材) 这个项目能干嘛? 使用 gemini 2.0 的 api 和 google 其他的 api 来做衍生处理 简化和优化了文生图和图生图的行为(我的最主要) 并且有一些目标检测和切割(我用不到) 视频和 imagefx 因为没 a…...

处理vxe-table 表尾数据是单独一个接口,表格tableData数据更新后,需要点击两下,表尾才是正确的
修改bug思路: 分别把 tabledata 和 表尾相关数据 console.log() 发现 更新数据先后顺序不对 settimeout延迟查询表格接口 ——测试可行 升级↑:async await 等接口返回后再开始下一个接口查询 ________________________________________________________…...