在C编程中,如何获取当前用户和当前工作目录。
我正在尝试打印如下内容:

  asmith@mycomputer:~/Desktop/testProgram:$
  (user) (computerName) (current directory)

我有以下代码,但用户名显示为NULL。有什么想法我做错了吗?
void prompt()
{
        printf("%s@shell:~%s$", getenv("LOGNAME"), getcwd(currentDirectory, 1024));
}

最佳答案

请注意,这仅适用于UNIX系统。
可能是未将LOGNAME设置为您的环境变量
您可以使用printenv命令查看环境变量

printf("%s@shell:%s$", getenv("USER"),getenv("PWD"))

也做这项工作。

但是如前所述,您不应依赖环境变量,而应使用标准的c函数。如果您确实要使用它们,请首先确保已设置它。

关于c - C编程。打印当前用户,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/1451825/

10-15 01:14