|
|
这是还没写好的源码:
- #include <stdio.h>
- #include <stdlib.h>
- #include <dirent.h>
- #include <unistd.h>
- #include <sys/types.h>
- int main( void )
- {
- DIR* dirp;
- struct dirent* direntp;
- struct stat buf;
- pid_t pid;
- dirp = opendir( "/share/tmp" );/*打开一个目录 */
- if( dirp == NULL ) {
- perror( "can't open /share/tmp" );
- } else {
- for( ; ; ) {
- direntp = readdir( dirp ); /*读目录里的内容*/
- if( direntp == NULL ) /*如果是个空目录就把它删除*/
- rmdir(/share/tmp);
- for( ; ; ) {
- if(lstat(directp->s_name,&buf)<0) { /*读出文件名*/
- printf("lstat error\n");
- exit(-1);
- }else{
- if( ! S_ISDIR(buf.st_mode)) < 0) { /*判断是否是一个目录*/
- printf("check file mode error\n");
- exit(1);
- }else if
- unlink(directp->s_name) ; /*如果不是就删除它*/
- else
- if((pid=fork())<0) {/*如果是就判断是否是一个空目录,是就删除它,这里考虑得不周到,fork一个进程,运行上面的算法,就是这里不懂了。要写个函数吧?*/
- printf("fork error\n");
- exit(1);
- else if(pie == 0 )
- chdir(directp->s_name);/*新的进程cd到新的目录*/
-
-
-
-
- }
- closedir( dirp );
- }
- return EXIT_SUCCESS;
- }
复制代码 |
|