合规国际互联网加速 OSASE为企业客户提供高速稳定SD-WAN国际加速解决方案。 广告
[TOC] # getcwd ~~~ #include <unistd.h> ​ char *getcwd(char *buf, size_t size); 功能:获取当前进程的工作目录 参数: buf : 缓冲区,存储当前的工作目录 size : 缓冲区大小 返回值: 成功:buf中保存当前进程工作目录位置 失败:NULL ~~~ # chdir ~~~ #include <unistd.h> ​ int chdir(const char *path); 功能:修改当前进程(应用程序)的路径 参数: path:切换的路径 返回值: 成功:0 失败:-1 ~~~ # opendir ~~~ #include <sys/types.h> #include <dirent.h> ​ DIR *opendir(const char *name); 功能:打开一个目录 参数: name:目录名 返回值: 成功:返回指向该目录结构体指针 失败:NULL ~~~ # closedir ~~~ #include <sys/types.h> #include <dirent.h> ​ int closedir(DIR *dirp); 功能:关闭目录 参数: dirp:opendir返回的指针 返回值: 成功:0 失败:-1 ~~~ # readdir ~~~ #include <dirent.h> ​ struct dirent *readdir(DIR *dirp); 功能:读取目录 参数: dirp:opendir的返回值 返回值: 成功:目录结构体指针 失败:NULL ~~~ 相关结构体说明: ~~~ struct dirent { ino_t d_ino; // 此目录进入点的inode off_t d_off; // 目录文件开头至此目录进入点的位移 signed short int d_reclen; // d_name 的长度, 不包含NULL 字符 unsigned char d_type; // d_type 所指的文件类型 char d_name[256]; // 文件名 }; ~~~ d_type文件类型说明: | **取值** | **含义** | | --- | --- | | DT\_BLK | 块设备 | | DT\_CHR | 字符设备 | | DT\_DIR | 目录 | | DT\_LNK | 软链接 | | DT\_FIFO | 管道 | | DT\_REG | 普通文件 | | DT\_SOCK | 套接字 | | DT\_UNKNOWN | 未知 |