如何使用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之前。在许多公司环境中,主目录保存在大型网络设备或者服务器上。