在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/