EDA365电子论坛网

标题: Linux C高级编程 Linux C语言实现ls -l(下) [打印本页]

作者: mytomorrow    时间: 2019-8-12 13:32
标题: Linux C高级编程 Linux C语言实现ls -l(下)
4.文件所有者和文件所有者组:通过stat结构体的注释信息可以看出,stat只能获取文件的uid和gid并不是uid gid对应的用户或组的名称。" M' N5 s' n8 J' C- o9 S
: g  w" [0 f% x. J) |+ c+ ]2 X/ J

2 r7 c, v/ ^9 ruid找到对应的用户名是可以通过getpwuid这个系统调用获取,这个系统调用接受一个uid返回一个passwd的结构体,这个结构体成员如下:
: A5 B0 k& _3 d- h! X" f( f, v, R3 x' k! o3 l. c" B
/ p* |- T; G$ ]6 ~+ N

8 v2 v! c" l6 h, c  ]- v, ~/ g; W% |6 `, V1 T0 B
7 v3 ?1 R6 ~: r2 I+ k6 p

! h, O$ J& f: ~7 I

. E) v+ Y6 M( Y  c7 d: I( J( Ngid对应的组名同样可以找到一个系统调用来获取,通过man我发现可以通过getgrgid()系统调用传入一个gid: N7 L2 h3 s9 `  d! j0 f: j- [

6 D# e( j2 j5 @% q+ M
, Y. \* K- W  T' [5 s

6 _! M4 r# ?: C. [2 ^: A5 D
% ^7 }) H# A4 v6 y

% E1 U( w6 f8 f2 g* ]  A3 D
/ H' Z9 |/ V+ b5 f0 H+ O  x* T3 Q: o- s% d6 b

作者: fanichicl    时间: 2019-8-12 17:35
学习一下。




欢迎光临 EDA365电子论坛网 (https://bbs.eda365.com/) Powered by Discuz! X3.2