gpt4 book ai didi

c - 如何获取MinGW中的用户名?

转载 作者:行者123 更新时间:2023-11-30 14:22:39 25 4
gpt4 key购买 nike

要使用 MinGW 从 Windows 获取用户名,我应该使用 unistd.h 中的函数 getlogin() 还是 Windows 函数 GetUserName?

谢谢。

最佳答案

您可以检查USERNAME变量:

char *name = getenv("USERNAME"); // Get environmentvariable for Username

if( name == NULL )
return -1; // Username not found ...
else
printf("%s\n", name); // Output Username

如果您完全使用 Windows,您也可以使用它的 API (GetUserName()):

#include <windows.h>
#include <Lmcons.h>

// ...

TCHAR name [ UNLEN + 1 ];
DWORD size = UNLEN + 1;

if( GetUserName((TCHAR*) name, &size) )
printf("%s\n", name); // Output Username
else
return -1; // Username not found ...

一般情况:

  • 如果您使用的是 linux/unix,请使用 getlogin(),因为它在 MinGW 中可用<
  • 如果您使用的是Windows,请使用GetUserName()
  • 如果您想保持平台独立性,请使用两者(条件组预处理器)

关于c - 如何获取MinGW中的用户名?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13612199/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com