unix文件操作

文件操作函数中最重要的六个函数分别是

creat,注意没有e,

open,close,

read,write,

lseek,

这几个函数分别位于:

create,open,close位于fcntl头文件中

read,write,lseek位于unistd头文件中

另外还有两个重要的头文件分别为sys/types和sys/stat,分别为系统基本数据类型头文件和文件状态头文件


简单写了一个函数

/*文件操作*/
把一个文件中的后十个字符打印并且创建一个新文件将这些字符写入新文件中
#include<stdio.h>
#include<sys/types.h>
#include<sys/stat.h>
#include<fcntl.h>
#include<unistd.h>


void main(){
int filename;
int i;
char buffer[10];
if((filename = open("/home/yelbosh/desktop/aa.txt",O_RDONLY))<0){
printf("open failed!");
return;
}else{
lseek(filename,-10,SEEK_END);
read(filename,buffer,10);
close(filename);
for(i = 0;i < 10;i++){
printf("%c\n",buffer[i]);
}
}

int cfile;
if((cfile = creat("/home/yelbosh/desktop/tem.txt",664)) < 0)
printf("error");
write(cfile,buffer,10);
close(cfile);
}


结合实例探究下各个函数

cfile = creat("/home/yelbosh/desktop/tem.txt",664)


creat函数,

int creat(const char *pathname, mode_t mode);

返回值:成功返回0,失败返回-1


(filename = open("/home/yelbosh/desktop/aa.txt",O_RDONLY)

open函数:

int open(const char *pathname, int oflag, … /* mode_t mode */);

返回值:成功返回的失败返回-1

第三个参数是可选的,注意第二个参数的含义,是打开的方式,可取的值为:

O_RDONLY、O_WRONLY、O_RDWR,

O_APPEND 每次写时都追加到文件尾端
O_CREAT 若文件不存在则创建它
O_EXCL 如果同时指定O_CREAT,而文件已经存在, 则出错,可测试一个文件是否已经存在
O_TRUNC 如果文件存在,而且为只读或只写成功打开,则将其长度截短为0



close函数,参数为文件标识符,成功返回的失败返回-1


read(filename,buffer,10);

read函数:

ssize_t read(int filedes, void *buff, size_t nbytes);


参数分别是文件标识符,缓冲区指针,缓冲区大小,返回值为实际读取的字节数


write(cfile,buffer,10);

write函数

ssize_t write(int filedes, const void *buff, size_t nbytes)

参数同read

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值