unix环境编程 目录操作
来源:互联网 发布:淘宝网 文胸故事模特 编辑:程序博客网 时间:2024/04/29 20:05
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.打印某个目录下的所有文件名
- # include <dirent.h>
- int main(int argc,char *argv[])
- {
- DIR *dir=NULL;
- struct dirent *ptr=NULL;
- if((dir=opendir(argv[1]))==NULL)
- {
- perror("opendir");
- return -1;
- }
- while((ptr=readdir(dir))!=NULL)
- {
- printf("%s \n",ptr->d_name);
- }
- return 0;
- }
- # include <stdio.h>
3.文件通配符,程序功能类似于ls *.txt , 打印满足条件的文件
程序中的popen()和pclose()函数会创建一个管道,调用fork(),产生子进程,子进程执行命令,父进程与子进程之间利用管道实现进程间通信。
- # include <stdio.h>
- # include <string.h>
- # include <unistd.h>
- int main(int argc,char **argv)
- {
- char buf[256];
- int i=1;
- strcpy(buf,"ls ");
- for(;i<argc;i++)
- {
- strcat(buf,argv[i]);
- strcat(buf," ");
- }
- FILE *f=NULL;
- if((f=popen(buf,"r"))==NULL)
- {
- perror("popen");
- return -1;
- }
- while(fgets(buf,sizeof(buf),f))
- printf("%s",buf);
- pclose(f);
- return 0;
- }
0 0
- unix环境编程 目录操作
- 《UNIX环境高级编程》笔记--目录操作
- 《unix高级环境编程》文件和目录——目录操作
- 《unix高级环境编程》文件和目录——目录操作
- unix环境编程 文件操作
- UNIX环境编程--目录和文件
- unix环境高级编程-4.21-读目录
- Unix环境编程-文件和目录
- 《unix环境高级编程》 读书笔记 目录
- unix环境高级编程-文件和目录
- 《unix高级环境编程》文件和目录——文件操作
- 《unix高级环境编程》文件和目录——文件操作
- UNIX高级环境编程(5)Files And Directories - 文件相关时间,目录文件相关操作
- UNIX环境编程学习笔记(12)——文件I/O之目录操作
- unix编程 之 操作目录函数
- unix环境高级编程学习1-unix文件和目录
- unix环境高级编程-3.11-原子操作
- Unix 高级环境编程 关于原子操作
- linux中统计字节数、字数、行数命令wc用法详解
- 基于MVC4+EasyUI的Web开发框架形成之旅--框架总体界面介绍
- asp.net Dataset() 基础学习
- HDU 2879 HeHe(经典积性函数)
- LeetCode_Single Number&Single NumberII
- unix环境编程 目录操作
- JS中的onload与jQuery中的ready区别
- 预处理调试标记
- LeetCode_Candy
- QT中的进程和线程
- SELinux简单学习
- SVM入门(七)为何需要核函数
- c# ListView清空
- Spring配置 <context:component-scan/> <mvc:annotation-driven />