标签: c windows
有人可以告诉我如何使用C语言命令获取桌面路径(环境变量)。
场景是我想在桌面上保存文件。我能做的就是提供固定的桌面路径和文件名以保存文件。但是在给出这个固定路径之后,我的代码将变得僵硬,并且不能在具有不同桌面路径(环境变量)的任何其他计算机上工作。 我的问题是,通过使用C语言捕获桌面的环境变量,我可以使我的代码可以在任何基于Windows的机器上实现吗?
此致
答案 0 :(得分:10)
SHGetSpecialFolderPath(CSIDL_DESKTOP)
答案 1 :(得分:3)
您可以使用函数getenv()访问环境变量:
环境变量的值 可以使用getenv访问 功能。这是在宣布 头文件stdlib.h。
对于Windows系统,如果您向USERPROFILE追加\Desktop,则{{1}}应该是好的(例如,请参阅mgiuca提供的the link)。请注意,在大多数情况下,路径将包含空格,因此请相应地处理它。
USERPROFILE
\Desktop
此外,使用环境变量来获取桌面文件夹的路径并不是最好的方法,在某些情况下可能不起作用(另请参阅此主题的其他SO答案,如this one),所以请看这个回答你的具体问题的答案,特别是对于“C ++中的环境变量”部分。