编程实(c++/c)现获得当前用户名和组名的源程式
2008-06-05 22:36
387 查看
编程实(c++/c)现获得当前用户名和组名的源程式
来源: 作者: 发布时间:2007-05-24
#include <stdio.h>
#include <unistd.h>
#include <sys/types.h>
#include <pwd.h>
#include <grp.h>
int main()
{
struct passwd *pwd = getpwuid(getuid());
struct group *grp = getgrgid(getgid());
printf("name: %s group: %s/n", pwd->pw_name, grp->gr_name);
return 0;
}
(3) /etc/group的处理
有一组类似于前面的子程序处理/etc/group的信息,使用时必须用include语句将/usr/include/grp.h文件加入到自己的程序中.该文件定义了group结构,将由
getgrnam(),getgrgid(),getgrent()返回group结构指针.
● getgrnam():在/etc/group文件中搜索指定小组名,然后返回指向小组入口项指针.
● getgrgid():类似于前一子程序,不同的是搜索指定的GID.
● getgrent():返回group文件中的下一个入口项.
● setgrent():将group文件的文件指针恢复到文件的起点.
● endgrent():用于完成工作后,关闭group文件.
● getuid():返回调用进程的实际UID.
● getpruid():以getuid()返回的实际UID为参数,确定与实际UID相应的登录名,或指定一UID为参数.
● getlogin():返回在终端上登录的用户的指针.
系统依次检查STDIN,STDOUT,STDERR是否与终端相联,与终端相联的标准输入用于确定终端名,终端名用于查找列于/etc/utmp文件中的用户,该文件由login维护,由who程序用来确认用户.
● cuserid():首先调用getlogin(),若getlogin()返回NULL指针,再调用getpwuid (getuid()).
以下为命令:
● logname:列出登录进终端的用户名.
● who am i:显示出运行这条命令的用户的登录名.
● id:显示实际的UID和GID(若有效的UID和GID和实际的不同时也显示有效的UID和GID)和相应的登录名.
手动换行符^l
来源: 作者: 发布时间:2007-05-24
#include <stdio.h>
#include <unistd.h>
#include <sys/types.h>
#include <pwd.h>
#include <grp.h>
int main()
{
struct passwd *pwd = getpwuid(getuid());
struct group *grp = getgrgid(getgid());
printf("name: %s group: %s/n", pwd->pw_name, grp->gr_name);
return 0;
}
(3) /etc/group的处理
有一组类似于前面的子程序处理/etc/group的信息,使用时必须用include语句将/usr/include/grp.h文件加入到自己的程序中.该文件定义了group结构,将由
getgrnam(),getgrgid(),getgrent()返回group结构指针.
● getgrnam():在/etc/group文件中搜索指定小组名,然后返回指向小组入口项指针.
● getgrgid():类似于前一子程序,不同的是搜索指定的GID.
● getgrent():返回group文件中的下一个入口项.
● setgrent():将group文件的文件指针恢复到文件的起点.
● endgrent():用于完成工作后,关闭group文件.
● getuid():返回调用进程的实际UID.
● getpruid():以getuid()返回的实际UID为参数,确定与实际UID相应的登录名,或指定一UID为参数.
● getlogin():返回在终端上登录的用户的指针.
系统依次检查STDIN,STDOUT,STDERR是否与终端相联,与终端相联的标准输入用于确定终端名,终端名用于查找列于/etc/utmp文件中的用户,该文件由login维护,由who程序用来确认用户.
● cuserid():首先调用getlogin(),若getlogin()返回NULL指针,再调用getpwuid (getuid()).
以下为命令:
● logname:列出登录进终端的用户名.
● who am i:显示出运行这条命令的用户的登录名.
● id:显示实际的UID和GID(若有效的UID和GID和实际的不同时也显示有效的UID和GID)和相应的登录名.
手动换行符^l
相关文章推荐
- Microsoft Office VB.NET编程,获得当前编辑文档的对象,并打印到控制台
- 请问怎么获得当前连接到网上邻居的用户名啊?怎样完全断开所有网上邻居的连接?
- C#获得计算机名,当前登录用户名,Ip地址 .
- C#编程:如何获得当前进程运行路径
- Code41 获得当前登录的用户名
- 获得当前登录系统的用户名
- sharepoint 获得当前登录人的用户名(转载)
- 在Office编程(add-in)中如何获得当前Word/Excel的名字
- .net网站应用程序中,获得当前的用户名方法
- 如何获得当前线程的用户名和此用户的SID
- C#获得计算机名,当前登录用户名,Ip地址
- 编程获得键盘上的“Num Lock”“Caps Lock”“Scroll Lock”的当前状态
- ASP.NET获得计算机名,当前登录用户名,Ip地址
- Java、JSP获得当前日期的年、月、日
- C#里面获得应用程序的当前路径
- 获取windows系统ip、计算机名、当前用户名
- 查看当前用户真实用户名
- 获得当前应用的版本号
- 黑马程序员之C#编程基础学习笔记:提示用户输入用户名,然后再提示输入密码,如果用户名是"admin"并且密码是“888888”,则提示正确,否则提示错误,如果用户名不是admin还提示用户用户名不存在
- 黑马程序员之C#编程基础学习笔记:用while break实现要求用户输入用户名和密码,只要不是admin,888888就一直提示要求重新输入。