我在用 海湾合作委员会 为了 视窗. 。操作系统是 视窗XP。如何将 homepath 变量导入到我的 c 程序中,以便可以写入 c:\%homepath%\desktop?我想使用类似的东西:

fd = fopen("C:\\%%homepath%%\\desktop\\helloworld.txt","w");

有帮助吗?

解决方案

使用 getenv() 获取环境变量的值,然后使用 sprintf 或 strcat 组成路径。

其他提示

使用 getenv("homepath") 获取环境变量的值。您应该处理变量尚未定义的情况(getenv 回报 NULL 在这种情况下)。

要编写路径,请使用 sprintf

char * homepath = getenv("homepath");

if(homepath == null) {
    /* variable HOMEPATH has not been defined */ 
}

sprintf(path,"%s\\desktop\\helloworld.txt",homepath);

您应该使路径足够大以容纳该值 homepath\\desktop\\helloworld.txt.

还要注意使用 \\ 在字符串中。你不能使用单一 \.

笔记:您实际上还需要获取 HOMEDRIVE 的值,并将其添加到 HOMEPATH 之前。在许多公司环境中,主目录保存在大型网络设备或服务器上。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top