首页 / UNIX / unix环境高级编程——文件操作
unix环境高级编程——文件操作
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了unix环境高级编程——文件操作,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1004字,纯文字阅读大概需要2分钟。
内容图文
![unix环境高级编程——文件操作](/upload/InfoBanner/zyjiaocheng/1333/cc880bcdb06a4e2b9a83c12175d18541.jpg)
一、阻塞io操作和非阻塞io操作
对于阻塞io操作:当cpu得不到需要的文件数据的时候,则将自己挂起,直到有了数据,才能执行下面的操作。
非阻塞io: 当cpu得不到文件时候,其一直在轮询cpu,直达得到数据。
二、文件描述符
对于内核而言,所有打开的文件,都用文件描述符来引用。所有的文件操作都是由内核态完成的,当一个用户的进程创建一个文件时候,内核会给其返回一个文件描述符。
而当用户进程,对文件进行各类读写操作的时候,也是给内核传入文件描述符。这样,就可以对其文件进行操作了。
三、open函数
功能:调用open函数,可以打开或者创建一个文件。
输出:返回内核创建的文件描述符
#include <stdio.h> #include <fcntl.h> int main(void) { int fd; if((fd = open("./a.txt",O_RDONLY|O_CREAT,S_IRUSR))<0) { } close(fd); printf("%d",fd); }
四、read,write函数
read函数:
输入:1、fd为文件描述符 2、要读入的指针 3、每次要读入的字符数
write函数:输入同read函数
下面代码为从a.txt向b.txt复制内容
#include <stdio.h> #include <fcntl.h> int main(void) { int fd,fd1; int r; int w; char a[100]; if((fd = open("./a.txt",O_RDWR))<0) { } fd1 = open("./b.txt",O_RDWR); if((r=read(fd,a,10))>=0) { printf("read success,the readnum id %d",r); printf("%s",a); } else { printf("read erro"); } write(fd1,a,10); close(fd1); close(fd); printf("%d",fd); }
版权声明:本文为博主原创文章,未经博主允许不得转载。
原文:http://blog.csdn.net/a879365197/article/details/48088795
内容总结
以上是互联网集市为您收集整理的unix环境高级编程——文件操作全部内容,希望文章能够帮你解决unix环境高级编程——文件操作所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。