如何在objective-c中获取macosx登录用户名
请让我知道如何在objective-c中获取当前登录的用户名或mac计算机名(如果可能)。谢谢有一个C函数:getpwuid()返回结构passwd:如何在objective-c中获取macosx登录用户名,objective-c,cocoa,macos,Objective C,Cocoa,Macos,请让我知道如何在objective-c中获取当前登录的用户名或mac计算机名(如果可能)。谢谢有一个C函数:getpwuid()返回结构passwd: struct passwd { char *pw_name; /* username */ char *pw_passwd; /* user password */ uid_t pw_uid; /* user ID */
struct passwd {
char *pw_name; /* username */
char *pw_passwd; /* user password */
uid_t pw_uid; /* user ID */
gid_t pw_gid; /* group ID */
char *pw_gecos; /* user information */
char *pw_dir; /* home directory */
char *pw_shell; /* shell program */
};
----------------------代码----------------
#包括
注册uid\u t uid;
结构passwd*uid\u pw;
uid=geteuid();
uid_pw=getpwuid(uid);
strcpy(uname,uid\u pw->pw\u name)
//类似地,其他信息也可以使用
NSUserName()
。这将返回当前登录用户的名称
NSString *userName = NSUserName();
我认为每个人都应该给David这样一个彻底的、显然是经过充分研究的答案一个分数。不要忘记:-)如果框架中有更高级别的函数,那又有什么意义呢?这些函数保证为您提供正确的、OS X级别的答案,而不是底层UNIX系统的一些可能随机的垃圾答案。。?!我的意思是,对于低级语言有一种方法,所以如果有人不想使用目标c函数,那么他们可以使用它。是的,两者都是相同的,并且都保证正确的结果。@Jay getpwuid()什么时候会返回垃圾?它只调用OpenDirectory。
NSString *userName = NSUserName();