Linux文件IO的代码怎么写

本篇文章为大家展示了Linux 文件IO的代码怎么写,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。

创新互联是专业的南开网站建设公司,南开接单;提供成都网站制作、成都网站建设,网页设计,网站设计,建网站,PHP网站建设等专业做网站服务;采用PHP框架,可快速的进行南开网站开发网页制作和功能扩展;专业做搜索引擎喜爱的网站,专业的做网站团队,希望更多企业前来合作!

简述


Linux下的所有资源都被抽象为文件,所以对所有资源的访问都是以设备文件的形式访问,设备文件的操作主要包括:打开、关闭、读、写、控制、修改属性等。下面的示例代码主要是对文本文件的拷贝。

其实对于一些复杂一点的设备,主要操作也是类似,比如摄像头,在linux下也是一个设备文件,打开之后,可以读取摄像头的参数,然后可以读取图像数据,读取到的图像数据可以编码后保存到文件中,这就是录像的过程,也可以把读到的图像数据送到LCD显示屏的帧缓存去显示出来。

再比如串口的操作,在Linux下,对于串口通信,也是设备文件的读写操作:打开设备文件--->配置参数(波特率、停止位、校验位等)--->读取/写入数据。

代码


#include #include #include #include #include #include   #define M 128 int main(int argc, char **argv){    if(argc < 3){        printf("Usage:%s,,\n",argv[0]);        return -1;    }     int fd1,fd2;    char buf[M];    int count = -1;     memset(buf, '\0', M);    if((fd1 = open(argv[1],O_RDONLY)) == -1){        perror("open file1 error:");        return -1;    }    if((fd2 = open(argv[2],O_RDWR | O_CREAT,0644)) == -1){        perror("open file2 error:");        return -1;    }      while(count != 0){        if((count = read(fd1,buf,M)) == -1){            perror("read file1 error:");            return -1;        }         if((count = write(fd2,buf,count)) == -1){            perror("write error:");            return -1;        }    }    close(fd1);    close(fd2);    return 0;}

编译运行


$ gcc copy.c -o copy$ ./copy copy test

运行结果:

$ lscopy  copy.c  test $ diff copy test  $

运行结果,程序对其自身拷贝了一份为test的文件,用diff命令比较两个文件,没有差异,完全一样,说明拷贝成功了。

上述内容就是Linux 文件IO的代码怎么写,你们学到知识或技能了吗?如果还想学到更多技能或者丰富自己的知识储备,欢迎关注创新互联行业资讯频道。


当前标题:Linux文件IO的代码怎么写
网站地址:http://pwwzsj.com/article/gospje.html