我知道NSFullUsername()给出了用户名,但是如何检索用户类型?
谢谢.
解决方法 您可以使用getpwnam或getpwuID检索用户组,然后使用getgrgID从gID获取组名.这些是标准库中的C函数.
– 编辑:这是一个简短的,编码不好的C例子—
这是一个小例子,在终端的mac os上它应该使用make构建(如果你命名文件getpwnam_example.c你可以在与c文件相同的目录中执行$make getpwnam_example).
#include <stdio.h>#include <unistd.h>#include <sys/types.h>#include <strings.h>#include <pwd.h>#include <grp.h>int main(int argc,char **argv) { uID_t current_user_ID = getuID(); printf("My Current UID is %d\n",current_user_ID); struct passwd *pwentry = getpwuID(current_user_ID); printf("My Current name is %s\n",pwentry->pw_gecos); printf("My Current Group ID is %d\n",pwentry->pw_gID); struct group *grentry = getgrgID(getgID()); printf("My Current Group name is %s\n",grentry->gr_name); printf("Am I an admin? "); struct group *admin_group = getgrnam("admin"); while(*admin_group->gr_mem != NulL) { if (strcmp(pwentry->pw_name,*admin_group->gr_mem) == 0) { printf("yes!\n"); } admin_group->gr_mem++; } return 0;}总结
以上是内存溢出为你收集整理的objective-c – 目标C和OS用户类型全部内容,希望文章能够帮你解决objective-c – 目标C和OS用户类型所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)