gets与scanf如何判断读取文件结束
来源:互联网 发布:网络信息发布审核制度 编辑:程序博客网 时间:2024/05/16 01:14
gets与scanf如何判断读取文件结束
(1) void * =====NULL
(2)int =======EOF=======0
当出错或到文件末尾时:
scanf() 返回int,故与EOF匹配
gets() 返回char * ,故与NULL匹配
两个例子:
(1)
#include<stdio.h>
void main()
{
char a[20];
int i=0;
freopen("input.txt","r",stdin);
while(scanf("%s",a)!=EOF) printf("%s",a);
}
#include<stdio.h>
void main()
{
char a[20];
int i=0;
freopen("input.txt","r",stdin);
while(gets(a)!=NULL) puts(a);
}
补充:(1)关于' ' ,'\0' ,NULL ,EOF,空格(ascii码为32) 的区别 :
' '和空格 等价
'\0' 是ascii码为0的字符,即为空字符
至于 NULL和EOF要依情况而定了。
(2)
scanf()函数返回成功赋值的数据项数,出错时则返回EOF
gets()用于从标准输入流stdin读入一个整行(以'\n'或EOF)结束,写入ptr指向的字符数组,并返回这
个指针;出错或遇到文件结束时则返回NULL。行末的'\n'从流中取出,但不写入数组。gets()不检查被写
入的数组大小。
getchar()用于从标准输入流stdin读入一个字符,并返回这个字符。如果读到文件结尾,则返回EOF。注
意到EOF不能用char类型表示,所以getchar()函数返回的是一个int型的数。使用时也应该注意这一点。
- gets与scanf如何判断读取文件结束
- scanf与gets读取字符串的区别
- 求助scanf()如何判断输入结束
- ObjectOuputStream判断文件读取结束
- scanf与gets函数读取字符串的区别
- scanf与gets函数读取字符串的区别
- scanf与gets函数读取字符串的区别(转)
- gets()与scanf()
- gets与scanf
- scanf与gets区别
- scanf 与 gets HDU1062
- scanf 和 gets 读取字符串
- scanf和gets读取字符串
- gets()与scanf()的区别
- scanf与gets函数混用
- gets与scanf的区别
- gets()与scanf()的区别
- scanf()与gets()的冲突
- 使用jdb调试android Java层
- 二级域名下的SESSION同步问题
- gearman初步尝试
- LeetCode (J)
- linux系统替换新内核(编译安装替换与打包替换)
- gets与scanf如何判断读取文件结束
- 使用PowerDesigner画ER图详细教程
- socket通信简介
- Android 开发之 ---- 底层驱动开发(二)
- 编写你的第一个垃圾收集器
- Java核心编程十二:国际化
- jquery ajax跨域请求webservice webconfig配置
- s3c2440camera的使用
- 3、Info.plist文件介绍-OC+UI