判断文件存在与否【Linux】

项目中需要查询文件存在情况,所以小记一下。

除了用stat之类函数判断外,还可以用access函数,且后者用起来更简单。
一、用stat时,示例如下:

ExpandedBlockStart.gif 代码
 1  int  exec_log()
 2  {
 3           struct  stat st;
 4          memset( & st, 0 , sizeof (st));
 5           if ( ! stat( " /home/log_url " , & st))    // 如果log_url不存在,stat就会返回非0
 6          {
 7                   if (st.st_size  >=   0 )         // 加了一层保证
 8                {
 9                       int  pid = fork();
10                       if ( ! pid)
11                      {
12                          printf( " start ...\n " );
13                          execl( " /home/log_update " , " /home/log_update " ,NULL);
14                          printf( " log_update failed\n " );
15                      }
16                       else   if (pid  >   0 )
17                      {
18                           return   0 ;
19                      }
20                       else
21                      {
22                          printf( " exec log error!\n " );
23                      }
24                  }
25          }
26           return   1 ;
27  }
28 

 

 

二、用access函数的例子:
       
ExpandedBlockStart.gif 代码
 1  if  (  ! access ( " /home/log_url " , F_OK) ) 
 2  {
 3          if (system( " /home/log_update " ==   - 1 )
 4         {
 5              printf ( " exec log_update failed!\n " );
 6         }
 7          else
 8         {
 9                printf ( " log_url not existed!\n " );
10         }
11 

 

转载于:https://www.cnblogs.com/winnxm/archive/2010/03/19/1689648.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值