link() 和 unlink()函数示例

19 篇文章 0 订阅
link函数的使用:
/*
该程序主要说明:
   int link(const char *existingpath, const char *newpath)
此函数将会创建一个新的目录项newpath,它引用文件existingpath。如果newpath文件已经存在,则返回出错。 
*/

#include <unistd.h>             //包含函数 link
#include <stdio.h>              //标准输出,包含remove函数
#include <fcntl.h>              //包含open函数
int main(int argc, char **argv)
{
   if(argc != 3)
   {
      printf("input error !!\n");
      return -1;
   }

  //创建一个临时文件
  int fd = -1;
  if((fd = open(argv[1],O_CREAT|O_EXCL)) > 0)
     {
         //如果open函数的返回值大于零,则没有这个文件,且该文件已经创建成功,需要使用remove函数来删除该文件
        close(fd);
        remove(argv[1]);
         //输出错误信息
        printf("input file can't be founded !!\n");
        return -1;
     }
   

  //使用link函数创建一个新的目录项
   if(link(argv[1],argv[2]) < 0)
      {
         printf("link failed !!\n");
         return -1;
      }

   printf("link over !!\n");
  return 1;
}
unlink函数的使用:
#include <stdio.h>
#include <fcntl.h>
#include <unistd.h>
int main(int argc,char **argv)
{
 if(argc != 2)
   {
       printf("input error!!\n");
        return -1;
   }

 int fd = -1;
 if((fd = open(argv[1],O_CREAT|O_EXCL)) > 0)
    {
       //如果open函数的返回值大于0,则表示该文件不存在,且已经创建成功
       close(fd);
       remove(argv[1]);
        printf("input file can't be founded!!\n");
        return -1;
    }

//删除一个现有的目录项
 if(unlink(argv[1]) < 0)
   {
      printf("unlink failed !!\n");
     return -1;
   }

 printf("unlink over!!\n");


 return 1;
}


  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值