Linux 文件编程的内容众多。本人新手上路如果浅谈的不好希望有大佬指正。
那我们话不多说开始说说我们的文件编程。那我是把学习文件编程的重点放在了如何用代码操作文件实现文件的,创建,打开,以及自动执行。我们平时在windows平台下手动修改文档的操作我想对大家来说都不陌生吧。无非就是先打开或者创建一个文档,然后去编辑它,接着保存和关闭文档。那我们平时手动最常用的linux编辑文档就是VI了之后一系列操作就不废话了。接下来就是说到我们的文件编程啦,和我之前说的操作步骤一至。我们同样也通过编程来打开,修改,和关闭目标文件。Linux系统呢为我们提供了以系列的API,如:打开文件 open;读写文件 read/write;光标定位lseek;关闭文件close。
那这一章我们先讲文件的打开及其创建。首先我们查看man手册看一下函数原型
要使用open函数首先得包涵#include的这三个头文件(以后这些说明就略过啦,相信大家都懂)。那我们来看open的第一个函数。
int open(const char *pathname,int flags);第一个参数很简单一个指向文件路径名的指针,第二个为一个整形数的权限。
再来看int open(const char *pathname,int flags,mode_t mode)只是多了一个参数,对于open函数来说,第三个参数仅当创建新文件时(即 使用了O_CREAT 时)才使用,用于指定文件的访问权限位。
下列是参数flags 所能使用的标志位:
1 2 3 |
|
上述三种标志位是互斥的,也就是不可同时使用,但可与下列的标志位利用OR(|)运算符组合。
1 2 3 4 5 6 7 8 9 10 |
|
最后了解一下对于这个函数的描述,用此函数打开或者创建文件后会返回一个文件描述符(文件描述符划重点哦),打开多个open会返回对应个数且返回值数值不同的文件描述符,描述符将用于我们用户的后续操作例如读写,光标定位之类的。那我们一般来说程序中可能会打开很多个open,而这时候对于你所打开的文件要操作哪个呢?这就取决于你所运用的文件描述符啦。
好啦,第一天试水。明天接着写open函数实例。