• 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语言中symlink()函数和readlink()函数的使用

详解C语言中symlink()函数和readlink()函数的使用

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

通过本文主要向大家介绍了symlink,symlink是什么文件,symlink文件,os.symlink,symlink ide等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

C语言symlink()函数:建立文件符号连接
头文件:

 #include <unistd.h>
</div>

定义函数:

int symlink(const char * oldpath, const char * newpath);
</div>

函数说明:symlink()以参数newpath 指定的名称来建立一个新的连接(符号连接)到参数oldpath 所指定的已存在文件. 参数oldpath 指定的文件不一定要存在, 如果参数newpath 指定的名称为一已存在的文件则不会建立连接.

返回值:成功则返回0, 失败返回-1, 错误原因存于errno.

错误代码:
1、EPERM 参数oldpath 与newpath 所指的文件系统不支持符号连接。
2、EROFS 欲测试写入权限的文件存在于只读文件系统内。
3、EFAULT 参数oldpath 或newpath 指针超出可存取内存空间。
4、ENAMETOOLONG 参数oldpath 或newpath 太长。
5、ENOMEM 核心内存不足。
6、EEXIST 参数newpath 所指的文件名已存在。
7、EMLINK 参数oldpath 所指的文件已达到最大连接数目。
8、ELOOP 参数pathname 有过多符号连接问题。
9、ENOSPC 文件系统的剩余空间不足。
10、EIO I/O 存取错误。

范例

#include <unistd.h>
main()
{
  symlink("/etc/passwd", "pass");
}
</div>

C语言readlink()函数:取得符号连接所指的文件
头文件:

 #include <unistd.h>
</div>

定义函数:

int readlink(const char * path, char * buf, size_t bufsiz);
</div>

函数说明:readlink()会将参数path 的符号连接内容存到参数buf 所指的内存空间, 返回的内容不是以NULL作字符串结尾, 但会将字符串的字符数返回. 若参数bufsiz 小于符号连接的内容长度, 过长的内容会被截断.

返回值:执行成功则传符号连接所指的文件路径字符串, 失败则返回-1, 错误代码存于errno.

错误代码:
1、EACCESS 取文件时被拒绝, 权限不够。
2、EINVAL 参数bufsiz 为负数。
3、EIO I/O 存取错误。
4、ELOOP 欲打开的文件有过多符号连接问题。
5、ENAMETOOLONG 参数path 的路径名称太长。
6、ENOENT 参数path 所指定的文件不存在。
7、ENOMEM 核心内存不足。
8、ENOTDIR 参数path 路径中的目录存在但却非真正的目录。

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

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

  • 详解C语言中symlink()函数和readlink()函数的使用

相关文章

  • 2017-05-28对比C语言中的setbuf()函数和setvbuf()函数的使用
  • 2017-05-28C++编程中私有和保护以及公有的类成员访问控制
  • 2017-05-28C++用mysql自带的头文件连接数据库
  • 2017-05-28浅析C++中前置声明的应用与陷阱
  • 2017-05-28C语言实现五子棋小游戏
  • 2017-05-28c++异常处理机制示例及详细讲解
  • 2017-05-28C/C++中extern "C" 的作用分析
  • 2017-05-28c++中处理相关数学函数
  • 2017-05-2812个关于C语言的有趣问答
  • 2017-05-28求子数组最大和的解决方法详解

文章分类

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

最近更新的内容

    • 详解state状态模式及在C++设计模式编程中的使用实例
    • c语言全局变量和局部变量问题及解决汇总
    • C++如何动态的生成对象详解
    • C++ primer基础之容器insert
    • C++使用递归和非递归算法实现的二叉树叶子节点个数计算方法
    • 详解C语言中rand函数的使用
    • 基于指针的数据类型与指针运算小结
    • Ubuntu配置sublime text 3的c编译环境的具体步骤
    • 实例讲解C++设计模式编程中State状态模式的运用场景
    • C++软件添加dump调试打印日志(推荐)

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

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