我正在 gcc 用于 windows 。操作系统 Windows XP 。 如何将homepath变量导入到我的c程序中,以便我可以写入c:\%homepath%\ desktop?我想使用类似的东西:
fd = fopen("C:\\%%homepath%%\\desktop\\helloworld.txt","w")
;
答案 0 :(得分:1)
使用getenv()获取环境变量的值,然后使用sprintf或strcat组成路径。
答案 1 :(得分: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
。
另请注意在字符串中使用\\
。您不能使用单\
。
答案 2 :(得分:0)
注意:您实际上也需要获取HOMEDRIVE的值,并将其添加到HOMEPATH。在许多企业环境中,主目录保存在大型网络设备或服务器上。