找回密码
 注册
关于网站域名变更的通知
查看: 239|回复: 1
打印 上一主题 下一主题

Linux C高级编程 Linux C语言实现ls -l(下)

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2019-8-12 13:32 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

您需要 登录 才可以下载或查看,没有帐号?注册

x
4.文件所有者和文件所有者组:通过stat结构体的注释信息可以看出,stat只能获取文件的uid和gid并不是uid gid对应的用户或组的名称。
. `- j: g# o0 n$ S. z3 M5 T/ l4 U8 @, G: L) ~
( ]+ R) O: A4 q9 w% v( R9 c7 ^/ Y
uid找到对应的用户名是可以通过getpwuid这个系统调用获取,这个系统调用接受一个uid返回一个passwd的结构体,这个结构体成员如下:
# O. v3 G# w! B8 D4 h& I& M) s3 H7 d  _
4 y6 T6 s! E' X8 r. G
  • char *pw_name;//User’s login name.
  • uid_t pw_uid; //umerical user ID.
  • gid_t pw_gid; //Numerical group ID.
  • char *pw_dir;//Initial working directory.
  • char *pw_shell;//Program to use as shell.<span style="font-family: Arial, Helvetica, sans-serif; background-color: rgb(255, 255, 255);"> </span>
    8 }+ w4 [* e9 D4 E/ Q
5 j5 i( W2 j. {% W2 i# _

  c3 P: `$ o) q' h9 w. a7 n: n5 l4 T

9 D, J  p( I) A2 z* k6 g8 J$ Q- N2 T( ~% b; I- K5 o/ I0 g8 R

7 K/ M9 ~/ ], O3 @) k: w, Bgid对应的组名同样可以找到一个系统调用来获取,通过man我发现可以通过getgrgid()系统调用传入一个gid1 X9 v. d1 m' E/ [1 g

, T& C* r& ^& j8 g7 \. [* n

3 U# c. e, Q1 ?! L4 z' c0 o
游客,如果您要查看本帖隐藏内容请回复
4 s; X8 a# P6 `9 _/ H2 g  u
9 y7 I5 b. ?9 K) C
4 z( |+ S. c/ V* x
; q0 F9 G; Y* g# j, D! i+ k
9 Z) [9 b, X$ T0 N# P( l, i
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

推荐内容上一条 /1 下一条

EDA365公众号

关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

GMT+8, 2025-11-24 21:17 , Processed in 0.156250 second(s), 23 queries , Gzip On.

深圳市墨知创新科技有限公司

地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

快速回复 返回顶部 返回列表