UNIX环境高级编程学习之第六章系统数据文件和信息-实现uid to name

Linux/Unix C/C++ xiujie 201℃ 0评论 已收录

UNIX环境高级编程学习之第六章系统数据文件和信息-实现uid to name

#include <stdio.h>
#include <stddef.h>
#include <string.h>
#include <pwd.h>
char * getuidtoname(unsigned int uid)
{
	struct passwd *ptr;
	setpwent();//实现打开/etc/passwd文件
	while((ptr = getpwent()) != NULL)//读取一条记录放到ptr中
	{
		if(uid == ptr->pw_uid)
		{
			break;
		}
	}
	endpwent();
	return ptr->pw_name;
}
char * getpwname_my(uid_t uid)
{
	struct passwd *ptr;
	ptr = getpwuid(uid);
	return ptr->pw_name;
}
 
int  main()
{
	char * name;
	name = getuidtoname(1000);
	printf("name = %s/n", name); 
	name = getpwname_my(1000);
	printf("name = %s/n", name);
	return 0;
}
喜欢 (0)
发表我的评论
取消评论
表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址