你应该用 access(char *filepath,int mode) 检查文件访问权限。
access(char *filepath,int mode)
mode 描述您要检查的内容:F_OK(存在),或R_OK(读取),W_OK(写入)或X_OK(执行)的OR组合。
mode
所以对于你的问题,你可以使用:
#include <unistd.h> ... if( access( filename, R_OK ) != -1 ) { // can read file } else { // cannot read file }