linux 文件属性操作函数 access chmod truncate

access:判断某个文件是否有某个权限,或者某个权限是否存在

复制代码
 1 /*
 2     #include <unistd.h>
 3     int access(const char* pahtname, int mode);
 4         作用:判断某个文件是否有某个权限,或者某个权限是否存在
 5         参数:
 6             - pathname:判断的文件路径
 7             - mode:
 8                 R_OK:判断是否有读权限
 9                 W_OK:判断是否有写权限
10                 X_OK:判断是否有执行权限
11                 F_OK:判断文件是否存在
12         返回值:成功返回0,失败返回-1
13 */
14 #include <unistd.h>
15 #include <stdio.h>
16 
17 int main()
18 {
19     int ret = access("a.txt", F_OK);
20     if(ret == -1)
21     {
22         perror("access");
23         return -1;
24     }
25     printf("文件存在!\n");
26     return 0;
27 }
复制代码

chmod:修改文件的权限

复制代码
 1 /*
 2     #include <sys/stat.h>
 3     int chmod(const char* pathname, mode_t mode);
 4         修改文件的权限
 5         参数:  
 6             - pathname:需要修改文件的路径
 7             - mode:需要修改的权限值  八进制的数字
 8         返回值:
 9             成功:返回0
10             失败:返回-1
11 */
12 #include <sys/stat.h>
13 #include <stdio.h>
14 
15 int main()
16 {
17     int ret = chmod("a.txt",0775);
18     if(ret == -1)
19     {
20         perror("chmod");
21         return -1;
22     }
23     return 0;
24 }
复制代码

 truncate:缩减或者扩展文件的尺寸至指定的大小

复制代码
 1 /*
 2     #include <unistd.h>
 3     #include <sys/types.h>
 4     int truncate(const char* path, off_t length);
 5         作用:缩减或者扩展文件的尺寸至指定的大小
 6         参数:
 7             - path:需要修改的文件的路径
 8             - length:需要最终文件 变成 的大小
 9         返回值:
10             成功:返回0
11             失败:返回-1
12 */
13 #include <unistd.h>     //truncate
14 #include <sys/types.h>  //truncate
15 #include <stdio.h>      //perror
16 
17 int main()
18 {
19     int ret = truncate("b.txt",20);
20     if(ret == -1)
21     {
22         perror("truncate");
23         return -1;
24     }
25     return 0;
26 }
复制代码

 b.txt  :   

 若缩小文件大小为5,则会删除后面内容  打开  b.txt  内容为:  

posted on   廿陆  阅读(15)  评论(0编辑  收藏  举报

相关博文:
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· .NET10 - 预览版1新功能体验(一)
点击右上角即可分享
微信分享提示