学习手记-Linux文件IO-创新互联

Linux中一切皆文件!

让客户满意是我们工作的目标,不断超越客户的期望值来自于我们对这个行业的热爱。我们立志把好的技术通过有效、简单的方式提供给客户,将通过不懈努力成为客户在信息化领域值得信任、有价值的长期合作伙伴,公司提供的服务项目有:域名注册网站空间、营销软件、网站建设、和顺网站维护、网站推广。

这一块内容主要是对Linux文件的各种操作:打开、关闭、新建、读、写等,C函数(不是Shell命令!)如下:

int open(const char *path,int oflags,mode_t mode)

【path:路径/oflags:打开方式(见注2,)/mode:权限/return:句柄,错误:-1】

注1:如果文件不存在就新建它

注2:oflags分别为:

O_RDONLY:文件只读;(类似excel中的“只读方式打开”,保护文件不被改动)

O_WRONLY:文件只写;

O_RDWR:文件可读可写;

O_NOCTTY:如果路径指向终端,则不将设备作为此进程的控制终端(在路径为终端控制台时,仍可使用)

O_NDELAY:非阻塞方式操作文件

注3:句柄其实就是一个文件结构体指针,就像在人群中举个牌表示“俺在这里,有什么事冲俺来”

int close(int fd)

【fd:已打开文件的句柄】

int creat(const char *pathname,mode_t mode)

【path:路径/mode:权限】

ssize_t read(int fd,void *buf,size_t len)

【fd:已打开文件的句柄/buf:读出数据的保存位置/len:读取数据的长度(byte)/return:实际读取数据字节数,错误:-1】

ssize_t write(int fd,void *buf,size_t count)

【fd:已打开文件的句柄/buf:需要写入的数据/count:写入数据的长度(byte)/return:实际写入数据字节数,错误:-1】


文件操作的4个头文件:

#include

#include

#include

#include

上面这几个头文件在×××呢?在shell下输入“man 2 open”试试。。

P.S 为了更好的理解这个章节推荐温习谭浩强《C语言程序设计》(第四版)的相关内容,里面有一些概念性的东西,fopen()、fclose()等等。

另外有需要云服务器可以了解下创新互联cdcxhl.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


网页名称:学习手记-Linux文件IO-创新互联
浏览地址:http://scyanting.com/article/ddgojh.html