C语言判断文件夹或者文件是否存在以及权限等信息access函数和删除文件或目录 remove()函数使用实例



C语言判断文件夹或者文件是否存在以及权限等信息access函数和删除文件或目录 remove()函数使用实例

一、access函数可以判断文件夹或者文件是否存在以及获取权限等信息。
        1、所需头文件和函数原型:
                  #include <unistd.h>
                  int access(const char *pathname, int mode);
         2、参数说明:
                  filename:可以填写文件夹路径或者文件路径
                  mode:(F_OK) 只判断是否存在
                                (R_OK) 判断读权限
                                (W_OK) 判断写权限
                                (X_OK) 判断执行权限
          3、返回值:
               用于判断文件夹是否存在的时候, 若存在或者具有相关权限,返回值为0;不存在或者无权限,返回值为-1

二、remove()函数可以用来删除文件或目录 
         1、所需头文件和函数原型:
                 
#include <stdio.h>
                 int remove(const char *pathname);
         2、参数说明:
                 filename:可以填写文件夹路径或者文件路径
         3、返回值:
                  On success, zero is returned.  On error, -1 is returned, and errno is set appropriately

三、实例测试:
#include<stdio.h>
#include<unistd.h>

char FILE_NAME[80];

int main()
{
   
    printf("Please input the path's the file you want to delete:");
    gets(FILE_NAME);
    /* Check for existence   
	   mode:
	        (F_OK) 只判断是否存在
           (R_OK) 判断读权限
           (W_OK) 判断写权限
           (X_OK) 判断执行权限
    */
    if( (access(FILE_NAME, F_OK )) != -1 )  
    {  
        printf( "File [ %s ] exists\n", FILE_NAME);  
        /* Check for write permission */  
        if( (access(FILE_NAME, W_OK )) != -1 )  
        {  
            printf( "File [ %s ] has write permission\n", FILE_NAME);  
        }  
        else  
        {  
            printf( "File [ %s ] has not write permission\n", FILE_NAME);  
        }  
		/* Check for read permission */  
        if( (access(FILE_NAME, R_OK )) != -1 )  
        {  
            printf( "File [ %s ] has write permission\n", FILE_NAME);  
        }  
        else  
        {  
            printf( "File [ %s ] has not write permission\n", FILE_NAME);  
        }  
		/* Check for execute permission */  
        if( (access(FILE_NAME, X_OK )) != -1 )  
        {  
            printf( "File [ %s ] has execute permission\n", FILE_NAME);  
        }  
        else  
        {  
            printf( "File [ %s ] has not execute permission\n", FILE_NAME);  
        }	
    }  
    else  
    {  
        printf( "File [ %s ] don't exists\n", FILE_NAME);  
    }  
  //RETURN VALUE
  //On success, zero is returned.  On error, -1 is returned, and errno is set appropriately.

   if( remove(FILE_NAME) == 0 )
        printf("%s has been Removed!\n", FILE_NAME);
   else
        perror("failed to remove the file!\n");

   return 1;
}

四、执行测试


五、小结
        上面的测试实例运行的结果是access函数可以判断文件或者文件夹是否存在以及获取权限信息;remove函数可以删除文件夹和文件。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值