gpt4 book ai didi

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

转载 作者:qq735679552 更新时间:2022-09-27 22:32:09 25 4
gpt4 key购买 nike

CFSDN坚持开源创造价值,我们致力于搭建一个资源共享平台,让每一个IT人在这里找到属于你的精彩世界.

这篇CFSDN的博客文章C语言中获取和改变目录的相关函数总结由作者收集整理,如果你对这篇文章有兴趣,记得点赞哟.

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

?
1
#include <unistd.h>

定义函数:

?
1
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. 。

范例 。

?
1
2
3
4
5
6
7
#include <unistd.h>
main()
{
   char buf[80];
   getcwd(buf, sizeof (buf));
   printf ( "current working directory : %s\n" , buf);
}

执行:

?
1
current working directory :/tmp

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

?
1
#include <unistd.h>

定义函数:

?
1
int chdir( const char * path);

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

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

范例 。

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

执行:

?
1
current working directory :/tmp

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

?
1
#include <unistd.h>

定义函数:

?
1
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 存取错误.

范例 。

?
1
2
3
4
5
6
7
/* 将根目录改为/tmp, 并将工作目录切换至/tmp */
#include <unistd.h>
main()
{
   chroot( "/tmp" );
   chdir( "/" );
}

最后此篇关于C语言中获取和改变目录的相关函数总结的文章就讲到这里了,如果你想了解更多关于C语言中获取和改变目录的相关函数总结的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com