关于c中的fgetc()

这个函数的作用好像是读取一个字符,是不是当这个函数遇到'\0'时就会读取结束?会不会把'\0'也读进去?打错了,是读取一个字符寸... 这个函数的作用好像是读取一个字符,是不是当这个函数遇到'\0'时就会读取结束?会不会把'\0'也读进去?
打错了,是读取一个字符寸
展开
 我来答
lee富荣
推荐于2017-12-16 · TA获得超过260个赞
知道答主
回答量:134
采纳率:0%
帮助的人:173万
展开全部
1.fgetc是用来从文件中读取内容的。它可不管读到的内容是什么东西。
2.文本文件中的字符串和c语言中的字符串概念不同。
文本文件中,不一定需要把'\0'这个c语言的字符串结束标志也存储进去(当然也可以这么做)。
3.fgetc这个函数从流中读取一个字符,然后返回。不管碰到了'\0'还是其他的字符都会返回。不知道你所谓的“结束”指的是什么。
4.一般来说,fgetc会返回读到的字符的整形值。但fgetc读到文件的结尾(不是字符串结尾)的时候,返回值是一个特殊值EOF。这个值和任何字符的值都不一样,不属于char类型。因此你会看到一些书上这么写:

int ch;//这里要用int类型,而不是char类型。因为EOF不是char
while((ch=fgetc(stdin))!=EOF){
//...
}

有点离题了。。。
总之,对于fgetc来说,文件中所有的数据(包括'\0')都是一样处理,除非读到了末尾,它就返回一个特殊值EOF。
iw___
2007-08-03 · 超过27用户采纳过TA的回答
知道小有建树答主
回答量:94
采纳率:0%
帮助的人:0
展开全部
'\0'的值是0
自己判断一下不就完了

fgetc()应该最后读取的是EOF吧。。。。EOF代表结束
if(fgetc()!=EOF)
用EOF的时候需要include "stdio.h"
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
yangdoing7689
2007-08-03 · TA获得超过661个赞
知道小有建树答主
回答量:1011
采纳率:0%
帮助的人:0
展开全部
不会,'\0'并不属于字符串,只是一个标志.
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式