Linux系统文件编程基本操作

本文详细介绍了Linux系统中用于文件操作的关键函数,包括open函数的不同打开模式,如只读、只写和读写,以及O_CREAT、O_EXCL等选项。此外,还讲解了creat函数用于文件创建,write和read函数进行文件读写,close函数关闭文件,以及lseek函数移动文件指针的功能和用法。
摘要由CSDN通过智能技术生成

open函数的定义和参数。

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


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

使用open函数需要引入的三个头文件。

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

一.函数 打开文件:open

int open (const char *pathname, int flags);
//pathname:指向文件的路径
//flags:文件的权限。

// O_PDONLY    只读打开。
// O_WRONLY    只写打开。
// O_RDWR      读写打开。
//上面这三个权限只能指定一个,下面的可以追加。
//O_CREAT  若文件不存在使用他来创建,需要说明mode权限。 
//O_EXCL    如果文件存在,则打开失败。O_A
//O_APPEND    接着尾巴继续写,不加的话会覆盖掉之前位置的东西
//O_TRUNC    把原本所有的内容给他干掉,长度截短0,重新写入

示例1

1.用读写的方式打开,file文件夹。

int fd; 
fd = open ("./file",O_RDWR);

创建文件2

使用creat函数

creat(const char* pathname, mode_t mode);
//mode 权限
// S_IRUSR可读,1
// S_IWUSR可写,2
// S_IXUSR可执行,4
// S_IRWXR可读、写、执行)7(也可以用数字代替,如0777)
//返回值:文件描述符,值为一个整数,发生错误时返回-1

示例

创建了一个名为陈哥陈哥的可读可写可执行文件。

int fd;
fd = creat("./chengechenge",IRWXR);

二.创建文件

int open (const char *pathname, int flags, mode_t mode); 
//mode:权限
//pathname:指向文件的路径
//flags:文件的权限。

示例2

创建一个名为file1的可读写文件。

int fd;
fd = open("./file1",O_RDWR|O_CREAT,0600);

三.写入文件 write

1.引入头文件

#include<unistd.h>

2.write的定义和参数。

size_t write (int fd,const void *buf,size_t count)
//fd:文件描述符
//buf:字符串,你要写进去的东西
//coun:大小/字节,可以用sizeof/strlen计算。

示例3

定义buf内容,使用strlen计算字符串长度。

char *buf = "chenge is hangsome boy";
write (fd,buf,strlen(buf));

四.关闭 文件close

close(int fd);
//fd:文件描述符

五.读取文件

read函数

ssize_t read(int fd, void *buf, size_t count);//读取成功返回字节数,读取失败返回-1

示例代码

char *readbuf;
readbuf = (char*)malloc(sizeof(char)*n_write);
int n_read = read (fd,readbuf,nweite);

六.移动光标

off_t lseek (int fd, off_t offset, int whence);
//offset 偏移值  对whence的偏移值
//whence 位置
//SEEK_SET 文件的开头
//SEEK_CUR 文件的当前位置
//SEEK_END 文件的末尾

示例1

让光标指向文件的开头。

lseek (fd,0,SEEK_SET);
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

走下去-别回头

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值