博客
关于我
二、Linux文件操作示例
阅读量:83 次
发布时间:2019-02-26

本文共 1426 字,大约阅读时间需要 4 分钟。

Linux文件操作示例

Linux文件操作有两种方式,c库函数和linux文件api函数,这里主要讲系统api函数,值得注意的是,文件写操作是写到缓存,不是直接写在内存文件里面,所以要更新文件或者关闭文件

linux系统文件api函数

 头文件
  #include <sys/types.h>
  #include <sys/stat.h>
  #include <fcntl.h>
函数原型
 创建
  int creat(const char *filename, mode_t mode);
参数 filename 文件名字字符串形式
Mode 权限
返回 成功0 失败 -1

打开

int open(const char *pathname, int flags);
int open(const char *pathname, int flags, mode_t mode);
参数 filename 文件名字字符串形式
 flags 打开模式,读操作需要读模式,写操作需要写模式
  Mode 权限
 返回 文件编号
读写
int read(int fd, const void *buf, size_t length);
参数
 fd 文件编号
 buf 读出数据要保存数据的数组
 length 要读的长度
 返回 实际读出的长度  
 
int write(int fd, const void *buf, size_t length);
参数
 fd 文件编号
 buf 读出数据要保存数据的数组
length 数据长度
返回 成功0 失败 -1

关闭

int close(int fd);
参数 fd 文件编号
返回 成功 0 失败-1

文件定位

int lseek(int fd, offset_t offset, int whence);
文件操作流程
 读操作流程 打开文件–读文件–关闭文件
 写操作流程 打开文件–写文件–关闭文件
程序示例

#include 
#include
#include
#include
void write_file(char *s){   	int fd;		fd = open("hello.txt", O_CREAT | O_RDWR, S_IRUSR | S_IWUSR); //创建并打开文件	if(fd > 0)//创建成功或者打开成功	{   		write(fd, s, sizeof(s));		close(fd);	}	else	{   		}}
int read_file(char *s,int len){   	int fd,rtn_len;		fd = open("hello.txt", O_RDWR);	rtn_len = read(fd, s, len); /* 读取文件内容 */	close(fd);	return rtn_len;}
int main(){   	char testbuf[100] = {   0},len;	//写操作	write_file("hello guoguo\n");	//读操作	len = read_file(testbuf,100);	testbuf[len] = ‘/0’;	printf(“%s”, testbuf);}

转载地址:http://vxwu.baihongyu.com/

你可能感兴趣的文章
MySQL-【4】基本操作
查看>>
Mysql-丢失更新
查看>>
Mysql-事务阻塞
查看>>
Mysql-存储引擎
查看>>
mysql-开启慢查询&所有操作记录日志
查看>>
MySQL-数据目录
查看>>
MySQL-数据页的结构
查看>>
MySQL-架构篇
查看>>
MySQL-索引的分类(聚簇索引、二级索引、联合索引)
查看>>
Mysql-触发器及创建触发器失败原因
查看>>
MySQL-连接
查看>>
mysql-递归查询(二)
查看>>
MySQL5.1安装
查看>>
mysql5.5和5.6版本间的坑
查看>>
mysql5.5最简安装教程
查看>>
mysql5.6 TIME,DATETIME,TIMESTAMP
查看>>
mysql5.6.21重置数据库的root密码
查看>>
Mysql5.6主从复制-基于binlog
查看>>
MySQL5.6忘记root密码(win平台)
查看>>
MySQL5.6的Linux安装shell脚本之二进制安装(一)
查看>>