我有功能:
gint isfileexists(gchar *filename)
{
struct stat buffer;
gint i = stat(filename, &buffer);
if (i == 0) {
return 1;
}
return 0;
}
如果我打电话给他们:
isfileexists("/etc/myfile")
在“/ home / user / etc / myfile”中搜索“myfile”。怎么做得好?
答案 0 :(得分:3)
它应该仅在/home/USER/etc/myfile
if:
/
时,您将离开前导isfileexists
;和/home/USER
是您当前的工作目录。换句话说,如果参数是 relative 路径名。
由于您拥有前导/
,因此它将是绝对路径名,应该访问/etc/myfile
。
如果我误解了您实际上想要主目录中的那个,那么您可以使用getenv("HOME")
获取您的主目录,然后使用{{/etc/myfile
追加strcat
1}}。无论您当前的工作目录如何,这都将有效。