Linux下判断是否是一个目录还是一个文件的方法

man stat; stat.h中有判断是什么文件的宏: S _ I S R E G ( ) 普通文件 S _ I S D I R ( ) 目录文件 S _ I S C H R ( ) 字符特殊文件 S _ I S B L K ( ) 块特殊文件 S _ I S F I F O ( ) 管道或F I F O S _ I S L N K ( ) 符号连接( P O S I X . 1或S V R 4无此类型) S _ I S S O C K ( ) 套接字(P O S I X . 1或S V R 4无此类型) 具体可以参照APUE文件目录相关章节。下面给出一个具体的例子:#include #include #include int main(int argc, char* argv[]) { struct stat buf; if(argc < 2) { printf(“Need Parameter”); return -1; } if(lstat(argv[1], &buf) < 0) { printf(“lstat error for %s\r\n”, argv[1]); return; } if(S_ISDIR(buf.st_mode)) printf(“%s Is DIR\r\n”, argv[1]); else if(S_ISREG(buf.st_mode)) printf(“%s Is FILE\r\n”, argv[1]); return 0; }

,学会技能是小智慧,学会做人是大智慧。

Linux下判断是否是一个目录还是一个文件的方法

相关文章:

你感兴趣的文章:

标签云: