博客
关于我
二、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/

你可能感兴趣的文章
Network 灰鸽宝典【目录】
查看>>
Networkx写入Shape文件
查看>>
NetworkX系列教程(11)-graph和其他数据格式转换
查看>>
Networkx读取军械调查-ITN综合传输网络?/读取GML文件
查看>>
network小学习
查看>>
Netwox网络工具使用详解
查看>>
Net与Flex入门
查看>>
net包之IPConn
查看>>
Net操作配置文件(Web.config|App.config)通用类
查看>>
Neutron系列 : Neutron OVS OpenFlow 流表 和 L2 Population(7)
查看>>
New Relic——手机应用app开发达人的福利立即就到啦!
查看>>
NFinal学习笔记 02—NFinalBuild
查看>>
NFS
查看>>
NFS Server及Client配置与挂载详解
查看>>
NFS共享文件系统搭建
查看>>
nfs复习
查看>>
NFS安装配置
查看>>
NFS的安装以及windows/linux挂载linux网络文件系统NFS
查看>>
NFS的常用挂载参数
查看>>
NFS网络文件系统
查看>>