linux c 关于文件目录操作的总结
来源:互联网 发布:windows netsh wlan 编辑:程序博客网 时间:2024/06/16 12:46
这篇文章主要是关于文件目录的相关操作,在linux平台下也是经常用到的一个操作,所以这篇文章应该先于上一篇关于文件的操作,一般我们创建文件夹后,才会进行关于文件的一些操作。提示一点创建目录时候,这能一级一级的创建不能创建多级,如若创建多级,则需要循环创建。
这里先介绍一下关于当前工作路径的问题,一般我们都是在某一个目录下进行文件或者文件夹的操作,但是一旦我们对文件进行夸目录操作后,可能不是很清楚我们的当前的工作路径到底是在哪里了,所以这里写了一个关于打印当前工作目录的函数。
void getpwd(){char buffer[1024] ;//获取当前的工作目录,注意:长度必须大于工作目录的长度加一char *p = getcwd(buffer , 40);char *dir = NULL;printf("pwd**buffer:%s p:%s size:%d \n" , buffer , p , strlen(buffer));//获取当前工作目录的名字dir = (char *)get_current_dir_name();printf("pwd**dir:%s \n" , dir);}在跨目录进行文件操作时候,可以打印当前工作路径,才能有效的进行后续操作,本人当时就是不清楚当前工作路径,所以在传入相对路径时候,总是出错。
接下来就是创建目录了,调用系统API进行目录的创建:
1). int mkdir(const char* name, int mode)
该函数用来创建目录文件夹。参数name:文件夹目录名称, mode:权限,因为linux系统对权限要求比较严格,所以我们一般会有权限参数。这里需要对目录进行检查,如果存在就不用创建,不存在则创建,这里可以用access函数进行检查。
mode参数为0时表示检查文件的存在性,如果文件存在,返回0,不存在,返回-1。
这个函数还可以检查其它文件属性:
06 检查读写权限
04 检查读权限
02 检查写权限
01 检查执行权限
00 检查文件的存在性
而这个就算这个文件没有读权限,也可以判断这个文件存在于否。存在返回0,不存在返回-1。下面的是创建代码
if(access(pathName, F_OK ) != 0){if(mkdir(pathName, 0755) == -1){printf("error cp mkdir=%s:msg=%s\n", pathName, strerror(errno));}}
2) rmdir(const char* name)
该函数是删除目录,成功返回0,否则返回-1。删除文件一般用remove(name)。
3)chdir(const char* dir)
该函数在文件目录操作中经常使用,用来切换目录,比如要进入某个文件目录时候或者退出时候都需要调用。
4)DIR* opendir(const char* path)
该函数主要用来打开指定的目录,如果存在返回DIR的指针,否则返回null。
5)struct dirent* readdir(DIR*)
该函数用来遍历文件夹下面的所有文件(文件夹或者文件),包括系统自动创建的隐藏目录“.”和“..”,成功返回结构体指针,失败返回null。
6) lstat(const char* path, struct stat* buf)
该函数主要是获取指定目录下的文件或者文件夹的信息,例如:名称,大小,时间等等
if((pDir = opendir(FOLDER_PATH)) == NULL){return 1;}//change dirchdir(FOLDER_PATH);while((entry = readdir(pDir)) != NULL){lstat(entry->d_name, &statBuff);}
- linux c 关于文件目录操作的总结
- linux c 关于文件操作的编程总结
- 关于Linux文件目录操作的常用命令
- c/c++/mfc/Linux c 关于文件的操作
- Linux C/C++ ----目录文件的操作(opendir,readdir,closedir)
- linux c下目录文件的操作(opendir,readdir,closedir)
- 使用linux c 目录操作函数,读取任一目录下的所有目录信息文件信息
- C Linux 文件操作总结
- Linux c文件操作总结
- Linux C编程--目录文件操作
- linux c关于目录是否存在,新建目录等操作
- C的第二篇小总结,关于文件操作
- C语言关于文件操作的总结(转)
- 关于文件/文件目录管理的,C
- 关于列文件目录的操作
- 关于目录、文件的一些操作
- C++builder 文件及目录的操作
- 黑马程序员__关于学习File类对文件目录操作的总结
- Android源码 从runOnUiThread聊聊消息机制
- vi的撤销命令
- CentOS 最新版本git的安装教程
- Android的一些小经验
- Apache Mina CumulativeProtocolDecoder 内部函数说明
- linux c 关于文件目录操作的总结
- DB2数据库的sqc程序编译过程
- 使用 Jenkins 搭建 iOS/Android 持续集成打包平台 (开箱即用)
- android 按键处理的全流程梳理(realtek)
- 用迭代算法解决诊疗路径数据汇总
- 关于拓展pvo中间像素的问题
- 4-11 求自定类型元素序列的中位数
- 报表修改
- 现代计算机图形界面的发展与变迁