如何在不使用环境的情况下获得实际的"用户名"(getenv,…)在节目里?环境是C/C++和Linux.

推荐答案

unistd.h中定义的函数100返回用户名.更多信息请参见man getlogin_r.

其签名为:

int getlogin_r(char *buf, size_t bufsize);

不用说,这个函数可以很容易地被调用在C或C++中.

Linux相关问答推荐

Linux打开/dev/tran/n是否与复制相同?

替换前 3 个字符范围内的所有整数

为什么 perf stat 不计算 cycles:u 在 BIOS 中禁用超线程的 Broadwell CPU 上?

如何摆脱管道分隔字段中不需要的管道符号 - Linux

为什么控制台不接受反向换行?

sed 根据文件中的条件进行多次替换

从 Ansible 中的 shell 命令输出中提取特定数据

bash 更有效的方法来转换奇数日期格式以被 linux 日期识别

有什么方法可以知道在发送之前将在 TCP 上发送多少字节?

如何在 shell 脚本中只读取一个字符

用于将文件夹从本地计算机复制到远程服务器的 scp 命令语法

如何仅使用 SED 获得第二行

使用 C/C++ (GCC/G++) 在 Linux 中的套接字编程中发送和接收文件

用于 GCC/G++ 的宏来区分 Linux 和 Mac OSX?

哪个程序在给定任何文件的情况下创建一个 C 数组?

如何在 Linux 中命名线程?

如何在 Linux 中通过控制台输出启动 Tomcat?

如何运行时调试共享库?

命令行 Arduino 编译和上传?

`os.symlink` 与 `ln -s`