金鑫水淼的嵌入式开发学习博客
gofiend
全部博文(150)
2011年(1)
2009年(14)
2008年(135)
llinux
Bsolar
帅得不敢
yeyincan
零和博弈
liying10
wangzhen
giszy
云龙湖1
分类: LINUX
2008-08-31 10:31:19
/*========================================================== DESCRIPTION:print type of file for each commond-line argument ============================================================*/ #include<sys/stat.h> #include<stdio.h> int main( int argc , char *argv[]) { int i; struct stat statbuffer; if( argc<2 ){ printf( " argument is not enough\n " ); return; } for( i=1; i<argc ; i++){ printf( "%s:" , argv[i] ); if( stat(argv[i] , &statbuffer)<0 ){ perror( "stat function failed:" ); } if( S_ISREG(statbuffer.st_mode) ){ puts( "regular file\n" ); } else if( S_ISDIR(statbuffer.st_mode) ){ puts( "directory\n" ); } else if( S_ISLNK(statbuffer.st_mode)){ puts( "link file\n" ); } else if( S_ISCHR(statbuffer.st_mode) ){ puts( "character file\n" ); } else if( S_ISBLK(statbuffer.st_mode) ){ puts( "block device\n" ); } else if( S_ISFIFO(statbuffer.st_mode) ){ puts( "FIFO file\n" ); } else if( S_ISSOCK(statbuffer.st_mode) ){ puts( "socket file \n" ); } else{ puts( "unknown mode" ); } } return 0; }
上一篇:[excise code]unix advanced programming
下一篇:[code]umask function
登录 注册