判断文件存在与否【Linux】

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

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

代码
 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函数的例子:
       
代码
 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/p/1689648.html