博客
关于我
unix环境编程 目录操作
阅读量:225 次
发布时间:2019-02-28

本文共 1170 字,大约阅读时间需要 3 分钟。

1、目录操作有 mkdir(constchar *pathname,mode_t mode)

创建目录,成功则返回0,若出错则返回-1

int rmdir(const char *pathname)

rmdir可以删除一个空目录,成功则返回0,若出错返回-1

DIR *opendir(const *pathname)

成功则返回指针,若出错则返回NULL

struct dirent *readdir(DIR *dp)

若成功则返回指针,出处则返回NULL

void rewinddir(DIR *dp)   成功则返回0,若出错则返回-1

int closedir(DIR *dp)   成功则返回0,若出错则返回-1

int chdir(const char *pathname)    切换目录

成功则返回0,若出错则返回-1

char *getcwd (char *buf,size_t size)  获取当前工作目录

若成功则返回buf,若出错则返回NULL

2.打印某个目录下的所有文件名

[cpp] 
  1. # include <dirent.h>  
  2. int main(int argc,char *argv[])  
  3. {  
  4. DIR *dir=NULL;  
  5. struct dirent *ptr=NULL;  
  6. if((dir=opendir(argv[1]))==NULL)  
  7. {  
  8. perror("opendir");  
  9. return -1;  
  10. }  
  11. while((ptr=readdir(dir))!=NULL)  
  12. {  
  13. printf("%s \n",ptr->d_name);  
  14. }  
  15. return 0;  
  16. }  
  17.   
  18. # include <stdio.h>  

3.文件通配符,程序功能类似于ls  *.txt , 打印满足条件的文件

程序中的popen()和pclose()函数会创建一个管道,调用fork(),产生子进程,子进程执行命令,父进程与子进程之间利用管道实现进程间通信。

[cpp] 
  1. # include <stdio.h>  
  2. # include <string.h>  
  3. # include <unistd.h>  
  4. int main(int argc,char **argv)  
  5. {  
  6. char buf[256];  
  7. int i=1;  
  8. strcpy(buf,"ls ");  
  9. for(;i<argc;i++)  
  10. {  
  11.  strcat(buf,argv[i]);  
  12. strcat(buf," ");  
  13. }  
  14.  FILE *f=NULL;  
  15. if((f=popen(buf,"r"))==NULL)  
  16. {  
  17. perror("popen");  
  18. return -1;  
  19. }  
  20. while(fgets(buf,sizeof(buf),f))  
  21. printf("%s",buf);  
  22. pclose(f);  
  23. return 0;  
  24. }  

转载地址:http://lmwp.baihongyu.com/

你可能感兴趣的文章
MySQL InnoDB引擎的锁机制详解
查看>>
Mysql INNODB引擎行锁的3种算法 Record Lock Next-Key Lock Grap Lock
查看>>
mysql InnoDB数据存储引擎 的B+树索引原理
查看>>
mysql innodb通过使用mvcc来实现可重复读
查看>>
mysql interval显示条件值_MySQL INTERVAL关键字可以使用哪些不同的单位值?
查看>>
Mysql join原理
查看>>
mysql order by多个字段排序
查看>>
MySQL Order By实现原理分析和Filesort优化
查看>>
mysql problems
查看>>
mysql replace first,MySQL中处理各种重复的一些方法
查看>>
MySQL replace函数替换字符串语句的用法(mysql字符串替换)
查看>>
Mysql Row_Format 参数讲解
查看>>
mysql select, from ,join ,on ,where groupby,having ,order by limit的执行顺序和书写顺序
查看>>
MySQL Server 5.5安装记录
查看>>
mysql slave 停了_slave 停止。求解决方法
查看>>
MySQL SQL 优化指南:主键、ORDER BY、GROUP BY 和 UPDATE 优化详解
查看>>
mysql sum 没返回,如果没有找到任何值,我如何在MySQL中获得SUM函数以返回'0'?
查看>>
mysql Timestamp时间隔了8小时
查看>>
Mysql tinyint(1)与tinyint(4)的区别
查看>>
mysql union orderby 无效
查看>>