Linux 用C语言判断文件和文件夹
#include <stdio.h> #include <stdlib.h> #include <unistd.h> #include <dirent.h> int access(const char *pathname, int mode); int is_file_exist(const char*file_path){ if(file_path==NULL){ return -1; } if(access(file_path,F_OK)==0){ return 0; } return -1; } int is_dir_exist(const char*dir_path){ if(dir_path==NULL){ return -1; } if(opendir(dir_path)==NULL){ return -1; } return 0; } int main(int argc,char** argv) { char *myFileBasePath="/usr/bin/.bin/bin"; int judgeFileResultCode=is_file_exist(myFileBasePath); if(judgeFileResultCode==0){ printf("文件存在 "); }else if(judgeFileResultCode==-1){ printf("文件不存在 "); } int judgeDirResultCode=is_dir_exist(myFileBasePath); if(judgeDirResultCode==0){ printf("打开文件夹成功,这是个文件夹 "); }else if(judgeDirResultCode==-1){ printf("打开文件夹失败,这不是个文件夹或者文件夹路径错误 "); } return 0; }