[问题]int link(char *, char *) 在那个库里?

C、C++和Java语言
回复
dbzhang800
帖子: 3182
注册时间: 2006-03-10 15:10
来自: xi'an China
送出感谢: 0
接收感谢: 2 次
联系:

[问题]int link(char *, char *) 在那个库里?

#1

帖子 dbzhang800 » 2006-04-07 12:12

int link(char *old, char *new)
在那个库里面,谢谢
头像
eexpress
帖子: 58428
注册时间: 2005-08-14 21:55
来自: 长沙
送出感谢: 4 次
接收感谢: 256 次

#2

帖子 eexpress » 2006-04-07 18:53

有这个函数?
● 鸣学
头像
laborer
帖子: 1016
注册时间: 2005-10-25 11:15
送出感谢: 0
接收感谢: 1 次
联系:

#3

帖子 laborer » 2006-04-10 23:37

link相当于用ln建立hard link

应该就在libc里面的,我直接gcc没有问题。
hreiser@oakland:~$ killall -9 wife
police@oakland:~$ sudo find / -user hreiser
court@oakland:~$ sudo mv /home/hreiser /jail/
court@oakland:~$ sudo usermod -d /jail/hreiser -s "/usr/sbin/chroot /jail/" hreiser
头像
ngc1275
帖子: 21
注册时间: 2006-08-22 18:05
送出感谢: 0
接收感谢: 0

有 link 这个函数

#4

帖子 ngc1275 » 2006-11-15 21:56

link(建立文件连接)
相关函数
symlink,unlink
表头文件
#include<unistd.h>
定义函数
int link (const char * oldpath,const char * newpath);
函数说明
link()以参数newpath指定的名称来建立一个新的连接(硬连接)到参数oldpath所指定的已存在文件。如果参数newpath指定的名称为一已存在的文件则不会建立连接。
返回值
成功则返回0,失败返回-1,错误原因存于errno。
附加说明
link()所建立的硬连接无法跨越不同文件系统,如果需要请改用symlink()。
错误代码
EXDEV 参数oldpath与newpath不是建立在同一文件系统。
EPERM 参数oldpath与newpath所指的文件系统不支持硬连接
EROFS 文件存在于只读文件系统内
EFAULT 参数oldpath或newpath 指针超出可存取内存空间。
ENAMETOLLONG 参数oldpath或newpath太长
ENOMEM 核心内存不足
EEXIST 参数newpath所指的文件名已存在。
EMLINK 参数oldpath所指的文件已达最大连接数目。
ELOOP 参数pathname有过多符号连接问题
ENOSPC 文件系统的剩余空间不足。
EIO I/O 存取错误。
范例
/* 建立/etc/passwd 的硬连接为pass */
#include<unistd.h>
main()
{
link(“/etc/passwd”,”pass”);
}
回复

回到 “C/C++/Java”