码迷,mamicode.com
首页 > 其他好文 > 详细

Unix高级编程之标准IO

时间:2016-09-10 19:13:40      阅读:171      评论:0      收藏:0      [点我收藏+]

标签:

c标准io---带缓存的io

优势:
带缓存(合并系统调用)
缺点:
实时性低
缓存的类型:
行缓存:stdin stdout(缓存区是有大小)
全缓存:文件
无缓存:stderr

1.流
打开文件的标识

2.FILE类型
结构体类型:
文件描述符
缓存区的地址
缓存的大小


出错标识

3.流的打开
fopen(3);

errno全局变量
定义的宏:
/usr/include/asm-generic/errno-base.h
/usr/include/asm-generic/errno.h
strerror(3);
perror(3);


4.流的操作(读写)
<1>字节
fgetc();/fputc();
getchar();/putchar();
getc();/putc();
<2>按行
fgets();/fputs();
gets();/puts();
<3>二进制
fread();/fwirte();
<4>格式化
fscanf();/fprintf();
scanf();/printf();

5.流的定位
fseek();
ftell();
rewind();

6.流的关闭
fclose(3);

7.流的刷新
fflush(3);

8.临时文件
tmpnam();//了解
tmpfile();//掌握

9.io效率
讨论的不是缓存大小的影响
标准io在调用fopen()时就已经创建缓存区
优先选择:
fgets();/fputs();
fread();/fwrite();
10.
setbuf();
setvbuf();

作业:
将一个文件的第5行的最开始加入一个字符串"uplooking"

 

Unix高级编程之标准IO

标签:

原文地址:http://www.cnblogs.com/axjlxy/p/5859935.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!