getc、fgetc、getchar、ungetc
2016-02-19 11:21
155 查看
fgetc, fgets, getc, getchar, ungetc - input of characters and strings
#include <stdio.h> int getc(FILE *stream); int fgetc(FILE *stream); int getchar(void); //Returns: next character if OK, EOF on end of file or error
getc可以用宏(macro)实现
fgetc一定不用宏实现
getchar等效于
getc(stdin)
getc和
fgetc之间的差别,意味着三件事:
1.
getc的参数一定不能是有副作用的表达式
2. 可以使用
fgetc的地址,作为函数指针传入其他function
3. 调用
fgetc消耗的时间比
getc长
这三个函数都是将
unsigned char转换为
int,因为
EOF通常为负数(定义在stdio.h,有的系统采用-1),
int才能装的下。
为了辨别产生
EOF是因为文件尾还是错误,我们需要使用
ferror,
feof来判断
ferror,feof
链接:/article/10324048.htmlungetc-push back a character
能向流stream中放回一个字符
#include <stdio.h> int ungetc(int c, FILE *stream);
尽管
ISO C支持放回任何个的字符,但是实现中我们不应该放回超过一个字符。
我们不能
push back一个EOF字符。
如果我们达到了文件的结尾,可以放入字符。下一次可以将该字符读取出来,接下来再读取会读取出
EOF。
注意
不能使用ungetc将字符放回文件或者设备,因为它们保存在标准IO库的缓冲区中。
相关文章推荐
- jquery获取input的值
- CAAnimation抽象类及子类的详解
- 在新浪SAE上部署应用实战心得
- JVM加载class文件的原理机制
- Unicode与中文转化
- Java Map 按key排序和按Value排序
- java继承中,成员变量的覆盖
- java collection
- android学习笔记(一)
- 昆凌口罩遮面机场躲镜头 举手晒婚戒
- instanceof与isInstance,isAssignableFrom
- Java String.trim () 函数的使用
- qt在win8 win10不能拖拽文件到程序的问题
- 刘备学Android Word文档下载地址和序言
- RGB和CIEXYZ颜色空间的转换及相关优化
- 人一旦迷醉于自身的软弱之中 便会一味软弱下去
- xcode常见的几种设置说明
- Exercise 2-8.
- UiAutomator2自动化测试环境搭建
- hdu 1069 Monkey and Banana