如何使用gcc将homepath导入C程序

时间:2020-03-05 18:56:55  来源:igfitidea点击:

我在Windows上使用gcc。操作系统是Windows 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之前。在许多公司环境中,主目录保存在大型网络设备或者服务器上。