Chinaunix首页 | 论坛 | 博客
  • 博客访问: 167935
  • 博文数量: 41
  • 博客积分: 445
  • 博客等级: 下士
  • 技术积分: 280
  • 用 户 组: 普通用户
  • 注册时间: 2010-03-22 14:54
文章分类

全部博文(41)

文章存档

2015年(9)

2014年(7)

2013年(4)

2012年(21)

我的朋友

分类: LINUX

2012-03-21 15:56:42

原文地址:

函数简介  
函数名称:_unlink
  函数原型:int _unlink( const char * pathname );
  所属库:io.h或
  函数功能:删除一个文件的目录项并减少它的链接数,若成功则返回0,否则返回-1,错误原因存于errno。如果想通过调用这个函数来成功删除文件,你就必须拥有这个文件的所属目录的写和执行权限。
  相关函数 link,rename,remove
  其他说明:在非WIN32系统中要用表头文件unistd.h
  unistd.h的宏定义
  #ifdef WIN32
  #include <>
  #else
  #include
  #endif
  unlink()会删除参数pathname指定的文件。如果该文件名为最后连接点,但有其他进程打开了此文件,则在所有关于此文件的文件描述词皆关闭后才会删除。如果参数pathname为一符号连接,则此连接会被删除。
  返回值 成功则返回0,失败返回-1,错误原因存于errno
  错误代码 EROFS 文件存在于只读文件系统内
  EFAULT 参数pathname指针超出可存取内存空间
  ENAMETOOLONG 参数pathname太长
  ENOMEM 核心内存不足
  ELOOP 参数pathname 有过多符号连接问题
  EIO I/O 存取错误
程序示例
  #include
  #include
  int main(void)
  {
  FILE *fp = fopen("junk.jnk","w");
  int status;
  fprintf(fp,"junk");
  status = access("junk.jnk",0);
  if (status == 0)
  printf("File exists\n");
  else
  printf("File doesn't exist\n");
  fclose(fp);
  unlink("junk.jnk");
  status = access("junk.jnk",0);
  if (status == 0)
  printf("File exists\n");
  else
  printf("File doesn't exist\n");
  return 0;
  }
阅读(1126) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~