博客
关于我
二、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存储IP地址的数据类型
查看>>
mysql存储中文 但是读取乱码_mysql存储中文乱码
查看>>
MySQL存储引擎
查看>>
MySQL存储引擎
查看>>
MySQL存储引擎--MYSIAM和INNODB引擎区别
查看>>
Mysql存储引擎(1):存储引擎体系结构和介绍
查看>>
Mysql存储引擎(2):存储引擎特点
查看>>
MySQL存储引擎--MyISAM与InnoDB区别
查看>>
mysql存储总结
查看>>
mysql存储登录_php调用mysql存储过程会员登录验证实例分析
查看>>
MySql存储过程中limit传参
查看>>
MySQL存储过程入门
查看>>
mysql存储过程批量建表
查看>>
MySQL存储过程的使用实现数据快速插入
查看>>
mysql存储过程详解
查看>>
Mysql存表情符号发生错误
查看>>