Хочу узнать имя пользователя, который запустил мою программу
и засунуть это в строку. Подскажите, как это сделать! =)
getenv("username")
getenv("USER")
#if defined( Q_OS_WIN )
#include <windows.h>
#elif defined( Q_OS_LINUX )
#include <pwd.h>
#include <sys/utsname.h>
#endif //-- Q_OS_WIN
...
/*static*/ void MyApp::getUserName()
{
if( m_qstrUserName.isEmpty() )
{
#ifdef Q_OS_WIN
QT_WA(
{
wchar_t buffer[256];
DWORD bufferSize = sizeof( buffer ) / sizeof( wchar_t ) - 1;
GetUserNameW( buffer, &bufferSize );
m_qstrUserName = QString::fromUtf16( ( ushort* )buffer );
},
{
char buffer[256];
DWORD bufferSize = sizeof( buffer ) / sizeof( char ) - 1;
GetUserNameA( buffer, &bufferSize );
m_qstrUserName = QString::fromLocal8Bit( buffer );
}
); //-- QT_WA
#else
struct passwd* pwd = getpwuid( getuid() );
if( pwd )
{
m_qstrUserName = QString( pwd->pw_name );
}
#endif //-- Q_OS_WIN
}
return m_qstrUserName;
}
про мак тоже хотелось бы узнать.