中易网

C语言,getc()的问题

答案:2  悬赏:20  
解决时间 2021-01-15 16:25
  • 提问者网友:兔牙战士
  • 2021-01-14 22:05
C语言,getc()的问题
最佳答案
  • 二级知识专家网友:毛毛
  • 2021-01-14 22:18
不会的,读取一个字符以后,文件指针会自动指向下一位,这样读取就会一个接一个执行下去,不会出现单单就读取第一个字符的情况。

不建议使用(c = getc(fp1)) != EOF)的方式来判断文件是否结束,因为如果是一个二进制文件,EOF可能出现在任何位置,这样文件很可能还没有读取完毕就结束了,请使用使用feof()。追问什么叫“文件指针指向下一位”,文件指针不是指向FILE型的吗?我新手,还请详解,谢谢!追答读取文件的时候,会有一个文件指针的概念,它的定义在结构体FILE里,用来表示当前文件读取到了什么地方,比如文件头部是0,下移一位就是顺着文件的顺序移动一个字节的长度。

你可以使用 long ftell(FILE *fp)来获取当前文件指针所在的位置,用fseek(FILE *fp,long offset,int begin)来移动你的文件指针(其中,offset是移动多少字节,而begin是开始位置)。追问哦,那如果我有两段代码,都要从文件一开始读取,为了让第二段代码实现功能,是不是必须在它之前重新打开文件?追答不,可以直接使用fseek(fp,0,0)让文件指针跳转到文件头部。
全部回答
  • 1楼网友:千杯敬自由
  • 2021-01-14 22:50
不是的,fgetc每执行一次,文件指针就会向后移一位,直到文件末尾
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息!
大家都在看
推荐信息