UNIX环境C语言编程(4)-标准IO库
来源:互联网 发布:淘宝红包充话费 编辑:程序博客网 时间:2024/05/22 06:28
1、缓冲
•文件指针:stdin、stdout、stderr
•缓冲方式:全缓冲、行缓冲、无缓冲
•可以通过setbuf()或setvbuf()更改缓冲方式
•int fflush(FILE *fp);
刷新缓冲区
2、打开/关闭流
•FILE *fopen(const char *pathname,const char *type);
打开一个指定的文件
•FILE *freopen(const char *pathname,const char *type, FILE *fp);
打开一个指定的文件,重新关联fp,通常用于重定向
•FILE *fdopen(intfiledes,const char *type);
操作文件描述符,转换为文件指针
•同时以读写方式打开文件时:
一个输出操作不能紧跟一个输入操作,其间必须加入fflush,fseek,fsetpos,或rewind
一个输入操作不能紧跟一个输出操作,其间必须加入fseek,fsetpos,或rewind
•int fclose(FILE *fp); //关闭流
3、读/写操作
•int getc(FILE *fp); intfgetc(FILE *fp); intgetchar(void);
每次读入一个字符,注意函数的返回值类型,不要使用char。
getc与fgetc的区别:
getc可能是宏,它的参数不能是带有副作用的表达式;
fgetc必须是函数(可以使用它的地址);
getc可能比fgetc更快;
•int ferror(FILE *fp); //错误检测
•int feof(FILE *fp); //是否到达文件结尾
•int ungetc(int c, FILE *fp); //回送一个字符
•int putc(int c, FILE *fp); //输出一个字符
•int fputc(int c, FILE *fp); //输出一个字符
•int putchar(int c); //输出一个字符到stdout
4、每次读写一行
•char *fgets(char *buf,int n, FILE *fp);
读取一行,最多n - 1个字符
不推荐使用gets()
•int fputs(const char *str, FILE *fp);
并不自动添加换行符
5、二进制I/O
•size_t fread(void *ptr,size_t size,size_tnobj, FILE *fp);
•size_t fwrite(const void *ptr,size_t size, size_t nobj, FILE *fp);
•二进制I/O需要注意:
通常只能读取在同一台机器上生成的文件;
更严格的说,只能读取同一个程序生成的文件;
6、流的定位
•long ftell(FILE *fp);
•int fseek(FILE *fp,long offset, int whence);
•rewind()
•off_t ftello(FILE *fp); // singleunix标准
•int fseeko(FILE *fp,off_t offset,int whence);
•int fgetpos(FILE *fp,fpos_t *pos); // ISO C
•int fsetpos(FILE *fp,constfpos_t *pos);
•三组函数支持的偏移量大小依次递增
7、实现细节
•int fileno(FILE *fp);
•获取文件指针对应的文件描述符
8、临时文件
•char *tmpnam(char *ptr);
•FILE *tmpfile(void);
tmpfile创建一个临时文件(类型w+),在关闭该文件或程序结束时将自动删除
0 0
- UNIX环境C语言编程(4)-标准IO库
- UNIX环境C语言编程(2)-文件IO
- UNIX环境C语言编程(11)-高级IO
- UNIX环境C语言编程(15)-终端IO
- unix环境高级编程 学习笔记5 标准IO库
- 标准IO库--unix环境高级编程读书笔记
- UNIX环境高级编程(五)标准IO库
- 《UNIX环境高级编程》--5 标准IO库
- unix环境高级编程-标准IO
- UNIX 环境高级编程 -- 标准IO 未完
- Unix下C语言----标准文件编程
- 《UNIX环境高级编程》笔记--标准IO缓冲
- UNIX高级环境编程(7)标准IO函数库
- unix环境高级编程——标准IO
- UNIX环境编程基本函数——标准IO
- 《UNIX环境高级编程》读书笔记之标准IO库(1)
- 标准IO库、系统数据文件和信息 - UNIX环境高级编程-第5、6章
- UNIX环境C语言编程(1)-概述
- 图的实现
- uva 11384(数学)
- 自己的makefile,可编译目录下所有C
- OC学习笔记九---ARC
- BigBlueButton配置文件bbb-conf说明
- UNIX环境C语言编程(4)-标准IO库
- Storm Trident 教程
- 字节转换成二进制
- 教你写Android网络框架
- Sicily 4835. Numbersrebmun
- 在PHP中使用键值对数组构造JSON数据
- 文件和base64流的相互转换
- Remote Desktop -- Access Ubuntu 14.04 from Windows 7
- 转载:ASP.NET MVC4 NInject 使用示例教程