#include<stdlib.h>#include<stdio.h>#include<unistd.h>#include<sys/stat.h>intmain(intargc,char*argv[]){intret;structstatstat_buf;//定义stat结构体变量if(argc!=2)//检查命令行参数{printf("请输入正确的文件参数!\n");return0;}ret=stat(argv[1],&stat_buf);//获取文件属性if(ret==-1)//获取文件属性失败{perror("获取文件属性失败!\n");exit(0);}switch(stat_buf.st_mode&S_IFMT)//判断文件类型,S_IFMT是st_mode中文件类型的屏蔽码{caseS_IFDIR://目录文件printf("这是一个目录文件!\n");break;caseS_IFREG://普通文件printf("这是一个普通文件!\n");break;}return0;}