getpwuid.c

来自「这是一个同样来自贝尔实验室的和UNIX有着渊源的操作系统, 其简洁的设计和实现易」· C语言 代码 · 共 31 行

C
31
字号
#include <stddef.h>#include <pwd.h>#include <string.h>extern int _getpw(int *, char **, char **);static struct passwd holdpw;static char dirbuf[40] = "/usr/";static char *rc = "/bin/rc";struct passwd *getpwuid(uid_t uid){	int num;	char *nam, *mem;	num = uid;	nam = 0;	mem = 0;	if(_getpw(&num, &nam, &mem)){		holdpw.pw_name = nam;		holdpw.pw_uid = num;		holdpw.pw_gid = num;		strncpy(dirbuf+5, nam, sizeof(dirbuf)-6);		holdpw.pw_dir = dirbuf;		holdpw.pw_shell = rc;		return &holdpw;	}	return NULL;}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?