函数:
#include<unistd.h>
int access(const char* pathname, int mode);
参数介绍:
pathname 是文件的路径名+文件名
mode:指定access的作用,取值如下
F_OK 值为0,判断文件是否存在X_OK 值为1,判断对文件是可执行权限W_OK 值为2,判断对文件是否有写权限R_OK 值为4,判断对文件是否有读权限注:后三种可以使用或“|”的方式,一起使用,如W_OK|R_OK
返回值:成功0,失败-1
#include"stdio.h"#include"unistd.h"#include "string.h"#define fileNAME1 "test"#define fileNAME2 "./liang"int main(void){char name[BUFSIZ];//文件名字int flag = 1;//退出标志,0 exitprintf("\t\t\t程序开始\n");printf("请输入要检查的文件(可包含路径,EOF退出):");scanf("%s",name);if( strcmp(name,"EOF") == 0 ){flag = 0;}while(flag){if(access(name,F_OK)==0){printf("文件存在\n");if(access(name,R_OK|W_OK)==0){printf("文件可读可写\n");}elseprintf("文件不可读或不可写\n");if(access(name,X_OK)==0){printf("文件可执行\n");}elseprintf("文件不可执行\n");}elseprintf("文件不存\n");printf("\n请输入要检查的文件(可包含路径,EOF退出):");scanf("%s",name);if( strcmp(name,"EOF") == 0 ){flag = 0;}}//whileprintf("\t\t\t程序结束\n");return 0;
}