当前位置: 首页 > news >正文

文件属性获取

1、getpwuid函数


#include <stdio.h>
#include <sys/types.h>
#include <pwd.h>
int main(int argc, char *argv[])
{uid_t uid = 1000;struct passwd * pw = getpwuid(uid);printf("name:%s gid:%d info:%s wd:%s shell:%s\n",pw->pw_name,pw->pw_gid,pw->pw_gecos,pw->pw_dir,pw->pw_shell);return 0;
}

2、getgruid函数

#include <stdio.h>
#include <sys/types.h>
#include <grp.h>int main(int argc, char *argv[])
{gid_t gid = 1000;struct group * gr= getgrgid(gid);printf("name:%s gid:%d\n",gr->gr_name,gr->gr_gid);return 0;
}

3、time 、 ctime、 localtime

#include <stdio.h>
#include <time.h>
int main(int argc, char *argv[])
{time_t tm;time(&tm);printf("%lu",tm);return 0;
}int main(int argc, char *argv[])
{time_t tm;time(&tm);printf("%s",ctime(&tm));return 0;
}int main(int argc, char *argv[])
{time_t tm;time(&tm);struct tm *tm_info =  localtime(&tm);if(NULL == tm_info){printf("localtime error\n");return 1;}printf("%d-%d-%d %d:%d:%d\n",tm_info->tm_year+1900,tm_info->tm_mon+1,tm_info->tm_mday,tm_info->tm_hour,tm_info->tm_min,tm_info->tm_sec);return 0;
}

4、symlink    link   软链接、硬链接

#include <stdio.h>
#include <unistd.h>
int main(int argc, char *argv[])
{int ret = symlink("./15localtime.c","softlink");if(-1 == ret){printf("symlink error\n");return 1;}return 0;
}int main(int argc, char *argv[])
{int ret = link("./01ls.c","hardlink");if(-1 == ret){printf("link error\n");return 1;}return 0;
}

5、truncate:扩大缩小空间,清零

#include <stdio.h>
#include <unistd.h>
#include <sys/types.h>
int main(int argc, char *argv[])
{fopen("aaa","w");int ret = truncate("aaa",1024*1024*1024);if(-1 == ret){printf("truncate error\n");return 1;}return 0;
}

6、perror、error、strerror  :指出错误

#include <stdio.h>
int main(int argc, char *argv[])
{FILE* fp = fopen("12312","r");if(NULL == fp){perror("fopen");return 1;}char buf[256]={0};if(NULL == fgets(buf,sizeof(buf),fp)){perror("fgets");return 1;}else {printf("buf is %s\n",buf);}return 0;
}#include <stdio.h>
#include <error.h>
#include <errno.h>
// errno 
int main(int argc, char *argv[])
{FILE* fp = fopen("12312","r");if(NULL == fp){error(1,errno,"fopen,filename:%s func:%s linenum:%d",__FILE__,__func__,__LINE__);printf("aaa\n");return 1;}return 0;
}#include <stdio.h>
#include <string.h>
int main(int argc, char *argv[])
{int i = 0 ;for(i = 0 ;i<256;i++){printf("%d %s\n",i,strerror(i));}return 0;
}

7、makefile 

src = jisuan.c  //主函数
src += func.c   //额外分装函数
obj = a.out     //执行名
flag = -lm      //链接$(obj):$(src)gcc $(src)-0 $(obj)clean:rm $(obj)

http://www.lryc.cn/news/418178.html

相关文章:

  • C:冒泡排序
  • 探秘C# LINQ元素运算:原理阐释与实践指南
  • 根据bean的名称获取bean,静态方法查询数据库
  • 剪画小程序:音频剪辑新手入门:基础操作指南!
  • IDEA中maven jar下载失败问题处理
  • C++中,函数返回const类型有什么作用,请举例说明
  • Html详解——Vue基础
  • 【安规电容知识点总结】
  • R9000P 双系统安装 win11 和 ubuntu
  • 8月8日笔记
  • 【单片机开发软件】使用VSCode开发STM32环境搭建
  • 第十五届蓝桥杯大赛青少组——赛前解析(算法)
  • 工作助手C#研究笔记(5)
  • 【kali靶机之serial】--反序列化漏洞实操
  • 学习大数据DAY34 面向对象思想深化练习 将从豆瓣爬取的数据置入自己搭建的网站上
  • 【开端】通过Java 过滤器灵活配置URL访问权限,并返回403
  • 【C++综合项目】——基于Boost库的搜索引擎(手把手讲解,小白一看就会!!)
  • 强化阶段《660》和《880》哪本优先级高?
  • Redis远程字典服务器(2) —— 全局命令
  • Android平台如何不推RTMP|不发布RTSP流|不实时录像|不回传GB28181数据时实时快照?
  • tomcat文件上传漏洞练习
  • 项目实战_图书管理系统(简易版)
  • Gazebo之MyRobot建立
  • WPF学习(5)- Border控件(边框布局)+GridSplitter分割窗口
  • ADAS芯片及方案
  • 5 mysql 查询语句
  • 从网络上下载并展示图像数据
  • Machine-Learning 机器学习
  • CSP 2023 普及组第一轮 - CSP/S 2023初试题 基础部分解析
  • 解锁IPython的跨平台魔法:深入探索%%script命令的神秘力量