第二阶段Linux系统编程之文件编程

本文详细介绍了Linux系统编程中的文件操作,包括文件编程概述、文件打开与创建、文件写入与读取、光标移动、文件关闭及标准C库中的文件操作函数,如open、read、write、lseek、close、fopen、fwrite等的使用方法和原理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、文件

1、文件编程概述

2、文件打开及创建

3、文件写入操作编程

4、文件读取操作

5、文件光标移动操作

6、文件的创建及关闭

7、文件操作原理简述

8、标准c库对文件操作引入

9、标准c库打开、创建文件、读写文件、光标移动


一、文件


1、文件编程概述

文件编程关心的是如何用代码操作文件,实现文件创建、打开、编辑等自动化执行。
操作系统提供了一系列的API:
如:Linux系统:
打开:open
读写:read/write
光标定位:lseek
关闭:close

2、文件打开及创建
打开文件原理描述:
打开这个文件时linux内核都会建立一个结构体来管理这些文件并返回一个文件描述符(是一个小的非负整数),这个描述符它会指向内核里面的结构体,起到一个索引的作用,后面的write/read(读、写)操作都是通过文件描述符来对具体文件进行操作。

打开用open函数,创建用creat函数。
代码如下:

	 #include <sys/types.h>
     #include <sys/stat.h>
     #include <fcntl.h>

     int open(const char *pathname, int flags);
     int open(const char *pathname, int flags, mode_t mode)

参数说明:
pathname:要打开的文件名(含路径,缺、省为当前路径)。

Flags:
O_RDONLY:只读打开
O_WRONLY:只写打开
O_RDWR:可写可读打开

当我们附带了权限后,打开的文件就只能按照这种权限操作。
以上这三种常数中应当只指定一个,下列场数是可选择的:
O_CREAT:若文件不存在则创建它,使用此选项时,需要同时说明第三个参数mode,用其说明该新文件的存取许可权限。
O_EXCL:如果同时指定了O_CREAT,而文件已经存在则出错。用来判断文件是否存在,出错指的是返回-1。
O_APPEND:加上这个每次写入内容时都加到文件的尾端,否则会在头开始写,会把原来的内容覆盖掉一部分。
O_TRUNC:打开文件时,如果这个文件中本来是有内容的,而且为只读或只写成功打开的,则将其长度截短为0(将内容清空)。

Mode:一定是在flags中使用了O_CREAT标志,mode记录待创建的文件的访问权限。在这里插入图片描述
-:代表了普通文件
r:代表了可读 数字表示是4
w:代表了可写 数字表示是2
x:代表了可执行 数字表示是 1
这些权限就是mode赋予的,如:0600表示的就是可读可写,6代表的就是4+2,这是给文件所有者的权限。

3、文件写入操作编程

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值