当前位置: 首页 > 编程笔记 >

C语言中获取和改变目录的相关函数总结

谭兴学
2023-03-14
本文向大家介绍C语言中获取和改变目录的相关函数总结,包括了C语言中获取和改变目录的相关函数总结的使用技巧和注意事项,需要的朋友参考一下

C语言getcwd()函数:取得当前的工作目录
头文件:

#include <unistd.h>

定义函数:

char * getcwd(char * buf, size_t size);

函数说明:getcwd()会将当前的工作目录绝对路径复制到参数buf 所指的内存空间,参数size 为buf 的空间大小。

注:
1、在调用此函数时,buf 所指的内存空间要足够大。若工作目录绝对路径的字符串长度超过参数size 大小,则返回NULL,errno 的值则为ERANGE。
2、倘若参数buf 为NULL,getcwd()会依参数size 的大小自动配置内存(使用malloc()),如果参数size 也为0,则getcwd()会依工作目录绝对路径的字符串程度来决定所配置的内存大小,进程可以在使用完次字符串后利用free()来释放此空间。

返回值:执行成功则将结果复制到参数buf 所指的内存空间, 或是返回自动配置的字符串指针. 失败返回NULL,错误代码存于errno.

范例

#include <unistd.h>
main()
{
  char buf[80];
  getcwd(buf, sizeof(buf));
  printf("current working directory : %s\n", buf);
}

执行:

current working directory :/tmp


C语言chdir()函数:改变当前的工作目录
头文件:

#include <unistd.h>

定义函数:

int chdir(const char * path);

函数说明:chdir()用来将当前的工作目录改变成以参数path 所指的目录.

返回值执:行成功则返回0, 失败返回-1, errno 为错误代码.

范例

#include <unistd.h>
main()
{
  chdir("/tmp");
  printf("current working directory: %s\n", getcwd(NULL, NULL));
}

执行:

current working directory :/tmp


C语言chroot()函数:改变文件根目录
文件

 #include <unistd.h>

定义函数:

int chroot(const char * path);

函数说明:chroot()用来改变根目录为参数path 所指定的目录。只有超级用户才允许改变根目录,子进程将继承新的根目录。

返回值:调用成功则返回0, 失败则返-1, 错误代码存于errno.

错误代码:
1、EPERM 权限不足, 无法改变根目录。
2、EFAULT 参数path 指针超出可存取内存空间。
3、ENAMETOOLONG 参数path 太长。
4、ENOTDIR 路径中的目录存在但却非真正的目录。
5、EACCESS 存取目录时被拒绝。
6、ENOMEM 核心内存不足。
7、ELOOP 参数path 有过多符号连接问题。
8、EIO I/O 存取错误。

范例

/* 将根目录改为/tmp, 并将工作目录切换至/tmp */
#include <unistd.h>
main()
{
  chroot("/tmp");
  chdir("/");
}
 类似资料:
  • 本文向大家介绍C语言中改变目录的相关操作函数详解,包括了C语言中改变目录的相关操作函数详解的使用技巧和注意事项,需要的朋友参考一下 C语言fchdir()函数:改变当前工作目录 头文件: 定义函数: 函数说明:fchdir()用来将当前的工作目录改变成以参数fd 所指的文件描述词。 返回值:执行成功则返回 0, 失败返回-1, errno 为错误代码. 范例 执行: C语言rewinddir()函

  • 本文向大家介绍C语言中计算正弦的相关函数总结,包括了C语言中计算正弦的相关函数总结的使用技巧和注意事项,需要的朋友参考一下 C语言sin()函数:正弦函数 头文件:  sin() 函数用来求给定值的正弦值,其原型为: 【参数】给定的值(弧度)。 【返回值】返回-1 至1 之间的计算结果。 弧度与角度的关系为: 弧度 = 180 / π 角度 角度 = π / 180 弧度 使用 rtod( ) 函

  • 本文向大家介绍C语言中求余弦值的相关函数总结,包括了C语言中求余弦值的相关函数总结的使用技巧和注意事项,需要的朋友参考一下 C语言cos()函数:求余弦值 头文件: cos() 函数用来求余弦值,即求角的临边长度除以斜边长度的比值,其原型为:     【参数】x 为一个弧度。 【返回值】返回-1 至1 之间的计算结果。 弧度与角度的关系为: 弧度 = 180 / π 角度 角度 = π / 180

  • 本文向大家介绍C语言中获取进程识别码的相关函数,包括了C语言中获取进程识别码的相关函数的使用技巧和注意事项,需要的朋友参考一下 C语言getpid()函数:获取进程识别码 头文件: 定义函数: 函数说明:getpid ()用来取得目前进程的进程识别码,许多程序利用取到的此值来建立临时文件, 以避免临时文件相同带来的问题。 返回值:目前进程的进程识别码 范例 执行: C语言getppid()函数:取

  • 本文向大家介绍C语言中返回错误信息的相关函数用法总结,包括了C语言中返回错误信息的相关函数用法总结的使用技巧和注意事项,需要的朋友参考一下 C语言strerror()函数:返回错误原因的描述字符串 头文件: 定义函数: 函数说明:strerror()用来依参数errnum 的错误代码来查询其错误原因的描述字符串, 然后将该字符串指针返回. 返回值:返回描述错误原因的字符串指针. 范例: 执行: C

  • 本文向大家介绍Go语言扫描目录并获取相关信息的方法,包括了Go语言扫描目录并获取相关信息的方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了Go语言扫描目录并获取相关信息的方法。分享给大家供大家参考。具体分析如下: 前言:最近看到Go里面有一个func很容易就可以扫描整个目录,并且可以得到相应的目录和文件信息,所以我将其进行了封装,拿到file info的所有信息 这样就可以方便的做其它