unix环境编程 目录操作

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] view
plain
copy

  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. # include <stdio.h>

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

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

[cpp] view
plain
copy

  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. }

unix环境编程 目录操作

时间: 2024-10-31 11:20:12

unix环境编程 目录操作的相关文章

unix环境编程 文件操作

1.  文件的打开读写 关闭 int open(const char *pathname,int flag,-)   打开一个文件 成功则返回文件描述符,若出现则返回-1 flag可以取下面的常量 O_RDONLY  只读打开 O_WRONLY  只写打开 O_RDWR    读写打开 其它的常量 O_APPEND,O_CREAT,O_EXCL,O_TRUNC,O_NOCTTY,O_NONBLOCK是可选的. int create(const char *pathname,mode_t mode

UNIX环境编程学习——反思认识

 学习情况: 有关UNIX系统环境编程的学习时间用来很长的时间,但是感觉效果还是不是太好,在中间经过了期末考试,用来很长的时间用来学习专业课,就将该过程的学习放到了一边上,放假以后又回家造成了中间的学习时间打的很散,又由于自己的水平还是十分有限的,所以该过程的学习效果感觉不太好,时间的观念在脑中还是不够强烈,整个过程中总体来说只是在总体上了解了一个大概,实践还差的很远. 学习期间博客: 1.UNIX环境编程初步认识--编程环境搭建 2.UNIX环境编程初步认识--文件和I/O 3.UNIX环

unix环境编程 tcp通信

TCP通信的过程为: 一. 服务器端: 1.socket(int domain,int type,int protocol):建立套接字: 2 .bind(int sockid,struct sockaddr *addrp,socklen_t addrlen):绑定端口和地址信息: 3.listen(int sockid,int qsize):监听套接字; 4.fd=accept(int sockid,struct sockaddr *callerid,socklen_t *addrlenp):

UNIX环境编程学习笔记(12)——文件I/O之目录操作

lienhua342014-09-18 1 引言 在 UNIX 系统中,目录是一种特殊的文件类型.我们可以使用 open 函数来打开目录,获取文件描述符,然后调用 stat 函数来获取目录的属性信息,但是我们却不能够使用 read 函数来读取目录内容.例如,下面例子所示, #include <stdlib.h> #include <stdio.h> #include <errno.h> #include <string.h> #include <fcn

APUE《UNIX 环境编程》读后感

今天终于把APUE前17章全部看完了,基本上主要知识就在这些章节里. 之前看完<unix/linux编程实践教程>时,有一种豁然开朗.心旷神怡的感觉,在代码级别了解了linux很多系统机制,和一直不理解编程细节,而且对UNIX编程的整体知识结构有了很好的把握. APUE是公认的经典,事无巨细的把每个知识讲解很透,还有很多细心的提示.但是看起来的过程并不觉得那么美好,原因有以下几点: 1.译者那糟糕的水平!很多句子根本就不是中国人能说口的.无奈英语烂,顶多能看看man的水平,只能看中文版了.这本

UNIX环境编程初步认识——文件和I/O

 前一段时间学习了一下文件I/O的一些编程知识,忙于专业课方面的学习,一直没有总结,现对于文件I/O的总结如下图所示: 根据操作对象类型不同,将其分为了三个方面:文件I/O.文件和目录.标准I/O,虽然将其分为了三个部分,但是其中还是相互联系的. 文件I/O:首先对于文件I/O一些相关操作需要有文件描述符作为参数,于是需要经过打开或创建操作来返回一个文件描述符.基本操作有读写.偏移和关闭等.同时还包括文件描述符的获取,将缓冲区同步至硬盘,改变文件的属性和其他的杂项处理等. 文件和目录:对于这

PHP核心编程--目录操作(包含文件操作)

一.目录操作 1.    创建目录 创建目录mkdir(目录名称)  //返回值为布尔 一次性创建主目录及其子目录 判断是不是一个目录is_dir  //返回true,false 判断目录或文件是否存在file_exists  //返回值为布尔 返回路径中的目录部分 dirname 2.    打开目录, opendir — 打开目录句柄 opendir(目录路径) //返回的是一个目录句柄. readdir(目标句柄)  //读取目录中的条目,  目录名为零的处理 //目录名中文的处理 ico

unix环境编程学习-chapter 3 IO读写操作

原子操作pread,pwirte #include <unistd.h> ssize_t pread(int fd, void *buf, size_t nbytes, off_t offset);//返回值:读到的字节数,若已到文件结尾则返回0,若出错返回-1 ssize_t pwrite(int fd,const void *buf ,size_t nbytes, off_t offset);//返回值:若成功返回已写的字节数,若出错返因-1 pread,pwirte,相当于顺序调用lse

Unix NetWork Programming(unix环境编程)——环境搭建(解决unp.h等源码编译问题)

此配置实例亲测成功,共勉,有问题大家留言. 环境:VMware 10 + unbuntu 14.04 为了unix进行网络编程,编程第一个unix程序时遇到的问题,不能包含unp.h文件,这个感觉和apue.h差不多,不过这里需要编译源代码,为了以后方便,现在整理如下: 主要有两点一是生成libunp.a这个库,二是得到unp.h.config.h这两个个头文件. 1,安装编译器,为了齐全还是安装一下build-essential sudo apt-get install build-essen