Chinaunix首页 | 论坛 | 博客
  • 博客访问: 631258
  • 博文数量: 1008
  • 博客积分: 10
  • 博客等级: 民兵
  • 技术积分: 5175
  • 用 户 组: 普通用户
  • 注册时间: 2012-07-31 09:44
文章分类
文章存档

2012年(1008)

我的朋友

分类:

2012-08-01 11:18:15

原文地址:目录操作 作者:luozhiyong131

  1. /*
  2.  * 目录操作
  3.  * 创建文件
  4.  * Lzy 2011-6-10
  5.  */

  6. #include <stdio.h>
  7. #include <stdlib.h>
  8. #include <unistd.h>
  9. #include <fcntl.h>

  10. int main(int argc, char *argv[])
  11. {
  12.     int ret;
  13.     
  14.     if(argc != 2)        //检查命令行参数个数
  15.     {
  16.         printf("参数太少\n");
  17.         exit(0);
  18.     }

  19.     ret = mkdir(argv[1], 00766);            //创建目录
  20.     if(ret == -1)
  21.     {
  22.         perror("mkdir fail");
  23.         exit(0);
  24.     }

  25.     return 0;
  26. }
  1. /*
  2.  * 目录操作
  3.  * 删除文件
  4.  * Lzy 2011-6-10
  5.  */

  6. #include <stdio.h>
  7. #include <stdlib.h>
  8. #include <unistd.h>
  9. #include <fcntl.h>

  10. int main(int argc, char *argv[])
  11. {
  12.     int ret;
  13.     
  14.     if(argc != 2)        //检查命令行参数个数
  15.     {
  16.         printf("参数太少\n");
  17.         exit(0);
  18.     }

  19.     ret = rmdir(argv[1]);            //删除目录
  20.     if(ret == -1)
  21.     {
  22.         perror("rmdir fail");
  23.         exit(0);
  24.     }

  25.     return 0;
  26. }
  1. /*
  2.  * 目录操作
  3.  * 列出指定目录下的所有文件和目录
  4.  * Lzy 2011-6-10
  5.  */

  6. #include <stdio.h>
  7. #include <stdlib.h>
  8. #include <unistd.h>
  9. #include <fcntl.h>
  10. #include <dirent.h>
  11. #include <sys/types.h>

  12. int main(int argc, char *argv[])
  13. {
  14.     DIR *dp;                        //定义指向DIR结构的指针
  15.     struct dirent *dirp;    

  16.     if(argc != 2)                //检查命令行参数个数
  17.     {
  18.         printf("参数太少\n");
  19.         exit(0);
  20.     }

  21.     dp = opendir(argv[1]);                    //打开目录
  22.     if(dp == NULL)                                //检查打开是否成功
  23.     {
  24.         perror("opendir fail");
  25.         exit(0);
  26.     }

  27.     while((dirp = readdir(dp)) != NULL)            //读取目录文件
  28.     {
  29.         if((strcmp(dirp->d_name,".") == 0) || (strcmp(dirp->d_name,"..") == 0))        //跳过当前目录和父目录
  30.             continue;

  31.         if(dirp->d_type == DT_DIR)                    //目录文件
  32.         {
  33.             printf("%s\t",dirp->d_name);
  34.         }
  35.         else                                                //普通文件
  36.             printf("%s\t",dirp->d_name);

  37.     }
  38.     
  39.     closedir(dp);                //关闭目录
  40.     return 0;
  41. }
  1. /*
  2.  * 目录操作
  3.  * 获取更改当前工作目录
  4.  *     Lzy 2011-6-10
  5.  */

  6. #include <stdio.h>
  7. #include <stdlib.h>
  8. #include <unistd.h>
  9. #include <fcntl.h>
  10. #include <dirent.h>
  11. #include <sys/types.h>

  12. int main(void)
  13. {
  14.     char buf[256];
  15.     int ret;

  16.     getcwd(buf,sizeof(buf));            //获取当前工作目录
  17.     printf("当前工作目录%s\n",buf);

  18.     ret = chdir("..");                            //更改工作目录
  19.     if(ret == -1)
  20.     {
  21.         perror("chdir fail");
  22.         exit(0);
  23.     }
  24.     
  25.     getcwd(buf,sizeof(buf));            //获取工作目录
  26.     printf("工作目录%s\n",buf);

  27.     return 0;
  28. }
阅读(163) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~