Linux文件编程
来源:互联网 发布:mysql 主键 索引 编辑:程序博客网 时间:2024/05/20 15:10
1.系统调用:所谓系统调用就是指操作系统给用户提供一些特殊的接口,用户的程序可以通过这些接口获得操作系统内核提供的服务。
2.文件和文件描述符:
(1)当打开一个现存文件或者创建一个新的文件的时候,内核就会向程序返回一个文件描述符;当需要读写文件时,需要把文件描述符作为参数传递给相应的函数。
(2)文件描述符是一个非负的整数,它是一个索引值,并指向在内核中每一个进程打开文件的记录表。
(3)一个进程启动的时候都会打开三个文件:a.标准输入,文件描述符为0,宏为STDIN_FILENO;b.标准输出,文件描述符为1,宏为STDOUT_FILENO;c.标准出错处理,文件描述符为2,宏为STDERR_FILENO。
3.系统调用—打开(open)
open函数适用于打开和创建文件的。在打开或者创建文件的时候可以指定文件的属性以及用户的权限登参数。
头文件为:#include <sys/types.h>,#include <sys/stat.h>,#include <fcntl.h>;
一般形式有两种,分别为:int open (const char *pathname,int flags)或者int open (const char *pathname, int flags,mode_t mode)
其中pathname是要打开或者创建的文件的名字;flags参数可用来说明此函数的多个选项;mode对于open函数而言,仅当创建新文件的时候才使用第三个参数。
该函数的返回值:当成功的时候返回新分配的文件描述符;失败时返回-1并且设置errno。
记:当我们对文件的操作结束后,需要关闭文件:int close(int fd)
4.系统调用—读
int read(int fd,const void*buf,size_t length)
描述为:从文件描述符fd索指定的文件中读取length个字节到buf所指向的缓冲区中,返回值就是实际读取的字节数。
记:系统调用—写与读的基本形式一样。
5.系统调用—定位
int lseek(int fd,offset—t,int whence)
功能:将文件读写指针相对于whence移动offset个字节。操作成功的时候,返回文件指针相对于头文件的位置。
whence可以使用下述值:
SEEK_SET:相对文件开头;
SEEK_CUR:相对文件读写指针的当前位置;
SEEK_END:相对文件的末尾。
当offset为负值的时候,表示的是向前移动。
- 【Linux库函数编程】文件编程
- linux编程_Makefile文件
- linux编程_Makefile文件
- Linux文件编程实例
- linux文件编程
- linux文件编程
- Linux文件编程
- Linux文件编程
- Linux文件IO编程
- LINUX文件编程基础知识
- Linux文件编程
- linux文件编程
- linux文件编程
- linux 文件编程
- linux文件编程
- linux文件编程
- linux文件编程
- Linux文件编程
- 【Scikit-Learn 中文文档】机器学习: scikit-learn 中的设置以及预估对象
- Recicleview+OKhttp
- 第16章part2-智能指针
- 数据结构实验之图论八:欧拉回路
- 动态内存与智能指针
- Linux文件编程
- 【Scikit-Learn 中文文档】监督学习:从高维观察预测输出变量
- 算法分析与设计丨第十四周丨LeetCode(18)——Maximum Subarray(Medium)
- 1001. A+B Format
- 关于golang使用mysql以及docker的一些坑
- 【Scikit-Learn 中文文档】随机投影
- js常用api
- 最基础的jvav的集合框架组成
- 北京大数据挖掘培训,能从事那些领域?