Linux-C-GetUserName

Linux-C-GetUserName

  1. code
//getUserName.c
#include <iostream>
#include <string>

using namespace std;

#ifdef linux
	#include <unistd.h>
	#include <pwd.h>
#endif
#ifdef _WIN32
	#include <Windows.h>
#endif

std::string getUserName()
{
#ifdef linux
	uid_t userid;
	struct passwd* pwd;
	userid = getuid();
	pwd = getpwuid(userid);
	return pwd->pw_name;
#elif _WIN32
	const int MAX_LEN = 100;
	char szBuffer[MAX_LEN];
	DWORD len = MAX_LEN;
	if(GetUserName(szBuffer,len))
	return szBuffer;
#endif
	return "";
}

int main()
{
	string name = getUserName();
	cout << "Hello World!" << name << endl;
	return 0;
}
  1. 编译运行
g++ getUserName.c
./a.out
原文地址:https://www.cnblogs.com/yongchao/p/14253142.html