• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >C语言 > C语言中获取和改变目录的相关函数总结

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

作者: 字体:[增加 减小] 来源:互联网 时间:2017-05-28

通过本文主要向大家介绍了c语言工程目录,c语言目录,c语言 当前目录,c语言遍历目录,郝斌c语言目录等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

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

#include <unistd.h>
</div>

定义函数:

char * getcwd(char * buf, size_t size);
</div>

函数说明: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);
}
</div>

执行:

current working directory :/tmp
</div>


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

#include <unistd.h>
</div>

定义函数:

int chdir(const char * path);
</div>

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

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

范例

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

执行:

current working directory :/tmp
</div>


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

 #include <unistd.h>
</div>

定义函数:

int chroot(const char * path);
</div>

函数说明: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("/");
}
</div>

</div>
分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

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

相关文章

  • 2017-05-28浅析栈区和堆区内存分配的区别
  • 2017-05-28C语言求两个字符串的最长公共子串
  • 2017-05-28分析C语言一个简单程序
  • 2017-05-28详解C++编程中类的声明和对象成员的引用
  • 2017-05-28基于VC编写COM连接点事件的分析介绍
  • 2017-05-28纯C语言:分治快速排序源码分享
  • 2017-05-28C语言设置和取得socket状态的相关函数用法
  • 2017-05-28C语言代码中调用C++代码的方法示例
  • 2017-05-28c++将引用或者是指针作为函数参数实现实参的运算
  • 2017-08-27UVa11402 Ahoy, Pirates!

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • 在Visual Studio使用C++开发Metro应用
    • 详解C++设计模式编程中对状态模式的运用
    • c语言链表基本操作(带有创建链表 删除 打印 插入)
    • C++文件上传、下载工具
    • C++设置超时时间的简单实现方法
    • C语言之栈和堆(Stack && Heap)的优缺点及其使用区别
    • C语言实现五子棋小游戏
    • VC定制个性化的MessageBox解决方法
    • 显示任何进程加载的DLL文件的代码
    • shared_ptr线程安全性全面分析

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有