Linux_文件操作函数、库函数、系统调用函数

文件操作函数:
int open(char *path,int flag,/*mode_t mode*/):打开一个普通文件。成功则返回文件描述符
int read(int fd,void *buff,size_t size):按字节读取文件内容 size读取字节大小,缓冲区大小
int write(int fd,void *buff,size_t size):按字节给文件中写入数据 buff文件的起始位置 size:数据的长度
int close(int fd):关闭打开的文件
int lseek(int fd,int size,int flag):移动文件读写偏移量 size: 字节数,
                                                   flag:移动的起始位置,SEEK_SET SEEK_CUR SEEK_END
库函数:
FILE fopen:(char *file,char *flag):文件和终端的输入和输出
szie_t fread:(void *ptr,size_t size,size_t nitems,FILE *stream):从那一个文件流读取数据
size_t fwrite:(const void *ptr,size_t size,size_t nitems,FILE *stream):从指定缓冲区取数据,写入输出流
int fclose(FILE *stream):关闭指定文件流stream
int fseek(FILE *stream,long int offset,int whence);在文件流里为下一次读写操作指定位置

flag: O_RDONLY  O_WRONLY O_RDWR 0_CREAT 0_APPEND O_TRUNC

三个stat函数获取文件属性信息
int stat(char *path,struct stat *st); 返回与次命名文件有关的信息结构
int fstat(int fd,struct stat *st);           获取以在fd上打开的文件信息
int lstat(char *path,struct stat *st);  当命名为文件是一个符号链接时,返回该符号链接的有关信息,而不是链接的文件的信息

扫描目录:
opendir:DIR *opendir(const char *name):打开一个目录,返回目录流
readdir:struct dirent *readdir(DIR *drip):返回目录中的一个数据项,并指向下一个数据项
telldir:long int telldir(DIR *dirp):返回目录流中的当前位置,在seekdir中使用
closedir:int closedir(DIR *dirp):关闭一个目录流,并释放与之相关联的资源,成功返回0,失败返回-1
seekdir:(DIR *dirp,long int loc):设置目录流dirp的目录项指针         loc:设置指针位置,telldir获取

库函数和系统调用函数的区别:
系统调用函数:是系统内核抛出来给用户的空间调用的接口,系统调用函数由用户态函数调用,在内核执行。
库函数:在函数库文件中实现,执行时只需要在用户态执行就可以了。
库函数:在函数库文件   库函数有可能需要转调系统调用函数,
系统调用函数:在系统内核中实现

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值