当前位置: 首页 > 面试题库 >

如何在Linux中的C / C ++中获取用户名?

苏宜人
2023-03-14
问题内容

如何在程序中不使用环境(getenv,…)的情况下获取实际的“用户名”?


问题答案:

getlogin_r() 定义的函数unistd.h返回用户名。请参阅man getlogin_r以获取更多信息。

它的签名是:

int getlogin_r(char *buf, size_t bufsize);

不用说,可以在C或C ++中轻松调用此函数



 类似资料:
  • 问题内容: 是否有API可以获取Linux中可用的CPU数量?我的意思是,不使用/ proc / cpuinfo或任何其他sys-node文件… 我发现使用sched.h实现: 但是,使用通用库是否还没有更高的层次? 问题答案: https://linux.die.net/man/3/get_nprocs

  • 问题内容: 在Linux C程序中,如何打印pthread库创建的线程的线程ID? 例如:我们可以通过 问题答案: 函数将给出当前线程的线程ID。 该函数返回调用线程的Pthread句柄。pthread_self()函数不会返回调用线程的整数线程。您必须使用返回该线程的整数标识符。 注意: 比这些调用快得多,但是提供了相同的行为。

  • 问题内容: 如何使用C ++获取Linux文件系统上文件的所有者名称和组名称?该呼叫仅提供了所有者ID和组ID,但没有提供实际名称。 如何以编程方式获取“ john”和“ devl”? 问题答案: 使用和。

  • 问题内容: 我想构建一个 使用用户名作为参数 的 程序,并创建用户及其主文件夹 (具有一些诸如文件夹之类的硬编码规范,以及诸如用户名之类的安全检查不能是root或现有用户)。 我的应用程序需要创建用户才能授予SSH访问权限。 该程序将使用 sudo 执行。我读过它应该用C或C ++而不是脚本编写,因为脚本很容易被利用。 您能给我 一些建议或好的做法 吗? 我应该使用一些 Pam 库吗?有没有例子?

  • 问题内容: 我想在Linux中使用C程序找到mac地址。怎么做? 问题答案: 通过Google搜索1分钟:(我自己尚未对其进行测试,此刻我正在Windows机器上工作)