《unix环境高级编程》 有关I/O库函数--3
来源:互联网 发布:我国历年gdp数据 编辑:程序博客网 时间:2024/05/21 06:45
文件I/O函数:他们是针对文件描述符的,无用户级缓冲 int filedes
1--open函数
Int open(const char *pathname,int flag,…/* mode_t mode */);
//pathname要打开或者创建的文件的名字,mode只有在创建文件的时候会用到,
该函数的目的是产生一个filedes,对文件操作就是用这个整型数字,文件描述符标志。
2--create函数
Int create(const char *pathname,mode_t mode);
//这个函数实际上和open函数有些重复,之前open函数没有创建文件的功能,所以有这个函数存在
3--close函数
Int close(int filedes); //filedes表示打开的文件标识符,该函数目的就是关闭一个打开的文件,不能重复关闭多次
4--lseek函数
Off_t lseek(int filedes,off_t offset,intwhence); //offset表示偏移量,whence表示偏移其实位置
5--read函数
Int read(int filedes,void * buf,size_tnbytes);//成功时候返回值是读到的字节数
6--write函数
Int write(int filedes,const void *buf,size_t nbytes);//成功返回写入的字节数
标准I/O库:他们针对的是流 FILE *fp,有缓冲
1--- setbuf函数 缓冲
void setbuf(FILE *fp,char *buf) //该函数的功能是打开或者关闭缓冲
int setvbuf(FILE * fp,char *buf,int mode ,size_tsize) //精确指定所需缓冲区的类型
2--fopen函数 打开流
FILE *fopen(char* pathname,char *type) //与之类似的还有函数freopen和fdopen这两个函数使用不多,不解释
这里重点介绍一下type标志,他的作用是指定打开流的读写方式。
其实下面这个有规律可寻:
r表示只读[该文件必须要存在],w表示重写[文件如果存在清空重写,不存在则创建],a表示追加写[文件如果不存在则创建] b表示二进制 +表示可读可写
r或 rb
为读而打开,b的意思是二进制文件
w或wb
为写而打开
a或ab
添加,为在文件结尾写而打开或为写而创建
r+或r+b或rb+
为读和写而打开 +表示读和写
w+或w+b或wb+
把文件截短至0长,或为读和写而打开
a+或a+b或ab+
为在文件结尾读和写二打开或创建
这里还有补充一个fclose()关闭一个流 fclose(FILE *fp)
3--读和写流
读写流按照分类:
每次一个字符的I/O:
int getc(FILE *fp); int fgetc(FILE *fp); int getchar(void);//从stdin获取输入 //前两个函数之间的区别是getc()可以实现宏,我们不来考虑,可以看做等效
Int putc(int c ,FILE *fp); int fputc(int c,FILE *fp); int putchar(intc);//输出到stdout
每次一行的I/O:
char *fgets(char *buf,int n ,FILE*fp); char *gets(char *buf); //将FILE *fp里面的一行内容送到缓冲区buf里面,gets默认是取stdout的一行内容
char *fputs(char *buf,int n ,FILE*fp); char *puts(char *buf); //和上面类似,将以null结尾的buf送到指定的流fp/stdout里面
直接I/O:[一次性读取一个机构体 或者读取的文件中间有NULL(二进制文件),这个函数都可以进行处理]
size_t fread(void *ptr,size_t size ,size_t nobj,FILE *fp);
size_t fwrite(void *ptr,size_t size ,size_t nobj,FILE *fp);
4--定位流
long ftell(FILE *fp);
Int fseek(FILE *fp,long offset,int whence);
- 《unix环境高级编程》 有关I/O库函数--3
- UNIX环境高级编程——标准I/O库函数和Unbuffered I/O函数
- UNIX环境高级编程----文件I/O
- UNIX环境高级编程----标准I/O
- 《unix高级环境编程》文件I/O
- 《unix高级环境编程》文件I/O
- Unix环境高级编程---文件I/O
- UNIX环境高级编程--标准I/O
- unix环境高级编程-5.2~3标准I/O库。
- unix环境高级编程复习-文件I/O(3)
- 文件I/O - UNIX环境高级编程-第3章
- UNIX环境高级编程-第3章- 文件I/O
- UNIX环境高级编程-第3章 文件I/O
- 《UNIX环境高级编程》第3章 文件I/O
- UNIX环境高级编程--高级I/O(三)
- UNIX环境高级编程第十四章 高级I/O 总结
- 《UNIX环境高级编程》十四高级I/O读书笔记
- UNIX环境高级编程笔记之高级I/O
- poj 1035 Spell checker
- 深度学习(四)卷积神经网络入门学习(1)
- 动画延迟消失
- 树形DP 没有上司的舞会
- UE4 iOS游戏开发
- 《unix环境高级编程》 有关I/O库函数--3
- uvalive 5881 map + 搜索记录
- 2015 Multi-University Training Contest 6 -- 1001 Average
- [学习笔记]JavaScript基础--数组操作
- Java实现算法之--求子数组和的最大值
- 物联网
- 暑假集训第四周阶段二E - Max Sum最大连续子数组和
- Linux tcpdump命令详解
- Career for coding