1

我正在为windows使用gcc。操作系统是windows XP。如何将 homepath 变量导入我的 c 程序,以便我可以写入 c:\%homepath%\desktop?我想使用类似的东西:

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

4

3 回答 3

1

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

于 2008-09-16T19:28:06.547 回答
1

用于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.

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

于 2008-09-16T19:43:40.363 回答
0

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

于 2008-09-18T23:16:59.677 回答