我正在Raspbian上编译Angband变体,以下操作失败:
struct stat txt_stat, raw_stat;
/* Build the filename */
path_build(buf, 1024, ANGBAND_DIR_EDIT, template_file);
/* Access stats on text file */
if (stat(buf, &txt_stat))
{
/* Error */
msg_format("Oh dear, something went wrong with stat()! %s", strerror(errno));
msg_format("Could not retrieve stats on the text file at {%s}", buf);
return (-1);
}
让我非常恼火的是文件就在那里
~/git/hellband/lib/edit/r_info.txt
当我将上述代码替换为打开文件的代码时(使用相同的buf),然后使用
fstat()
在文件描述符上,它可以工作!!
我不想打开文件(记住关闭该文件),我只想知道/修复发生了什么
stat()
.
PostScriptum 2020;结果是,当我使用Angband方法打开文件时,它自动扩展了~符号,这就是为什么它起作用了,而fstat起作用了。