我们知道我们可以在Linux中使用ln file1 file2
创建硬链接,这将使得file2
成为file1
的硬链接。如何从C程序在Linux中创建硬链接
但是,当我尝试通过使用C程序来做到这一点时,我遇到了问题。以下是C代码。
#include<stdio.h>
#include<string.h>
#include<unistd.h>
int main(int argc, char *argv[])
{
if ((strcmp (argv[1],"ln")) == 0)
{
char *myargs[4];
myargs[0] = "ln";
myargs[1] = argv[3];
myargs[2] = argv[4];
myargs[3] = NULL;
execvp(myargs[0], myargs);
printf("Unreachable code\n");
}
return 0;
}
用gcc编译这个程序后,我运行它如下。
$ ./a.out ln file1 file2
ln: failed to access ‘file2’: No such file or directory
$
file1
这里存在并且file2
是所希望的硬链接。
任何人都可以指出我在这里犯了什么错误。
谢谢。
[man 2 link](http://linux.die.net/man/2/link)可能会有帮助。 – chrk