文章目录
目录的操作不论是在嵌入式还是应用软件编程都是必不可少的,不同的开发语言可能略有不同,本章节主要是讨论在Linux系统下目录的一系列操作,以我的个人经验,创建目录和列出目录中的文件这两个功能用得最多。
一、获取当前工作目录
在shell中我们可以直接输入命令pwd来显示当前的工作目录,在C程序中调用getcwd函数可以获取当前的工作目录。函数声明:
char * getcwd(char * buf,size_t size);
getcwd函数把当前工作目录存入buf中,如果目录名超出了参数size长度,函数返回NULL,如果成功,返回buf。例如:
char strpwd[301];
memset(strpwd,0,sizeof(strpwd))
getcwd(strpwd,300);
printf("当前目录是:%s\n",strpwd);
二、切换工作目录
函数声明:
int chdir(const char *path);
就像我们在shell中使用cd命令切换目录一样,在C程序中使用chdir函数来改变工作目录。
返回值:0-切换成功;非0-失败。
三、目录的创建和删除
在shell中可以通过mkdir/rmdir命令来创建/删除目录,C程序中用mkdir/rmdir函数来创建/删除目录。
创建目录函数的声明:
int mkdir(const char *pathname, mode_t mode);
mode的含义将按open系统调用的O_CREAT选项中的有关定义设置,当然,它还要服从umask的设置况,是不是看不明白?那先固定填0755,注意,0不要省略哦,它表示八进制。 例如:
mkdir("/tmp/aaa",0755); // 创建/tmp/aaa目录
删除目录函数的声明:
int rmdir(const char *pathname);
四、获取目录中的文件列表
在实际开发中,文件是存放在目录中的,在处理文件之前,必须先知道目录中有哪些文件,所以要获取目录中的文件列表。涉及到的库函数如下:
1、包含头文件
#inc