博客
关于我
二、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快速入门——库的操作
查看>>
mysql快速复制一张表的内容,并添加新内容到另一张表中
查看>>
mysql快速查询表的结构和注释,字段等信息
查看>>
mysql怎么删除临时表里的数据_MySQL中关于临时表的一些基本使用方法
查看>>
mysql性能优化
查看>>
MySQL性能优化必备25条
查看>>
Mysql性能优化(1):SQL的执行过程
查看>>
Mysql性能优化(3):分析执行计划
查看>>
Mysql性能优化(4):优化的注意事项
查看>>
Mysql性能优化(6):读写分离
查看>>
MySQL性能测试及调优中的死锁处理方法
查看>>
mysql性能测试工具选择 mysql软件测试
查看>>
Mysql悲观锁
查看>>
MySQL慢查询-开启慢查询
查看>>
MySQL慢查询分析和性能优化的方法和技巧
查看>>
MySQL慢查询日志总结
查看>>
Mysql慢查询日志,查询截取分析
查看>>
MySQL慢查询问题排查
查看>>
mysql截取sql语句
查看>>
mysql截取身份证号前几位_EXCEL中怎样截取身份证号前六位数字
查看>>