gpt4 book ai didi

C: feof 的奇怪行为

转载 作者:太空宇宙 更新时间:2023-11-04 06:53:31 26 4
gpt4 key购买 nike

<分区>

我是 C 的新手。我偶然发现了 feof 的某些我无法解释的行为。具体在下面的代码中,我创建了一个文件,将一个字节的信息写入其中,然后关闭并再次打开它,读取信息(我的 1 个字节)直到到达 EOF,然后移动当前位置将文件指针移动 0 字节(即根本不更改当前位置),突然间我不再位于 EOF 处。怎么会?

#include <stdio.h>
#include <stdint.h>
typedef uint8_t BYTE;

int main(void) {
FILE* f = fopen("myfile.txt","w");
BYTE b = 0x0000;
fwrite(&b,1,1,f);
fclose(f);
f = fopen("myfile.txt","r");
while (!feof(f)){
fread(&b,1,1,f);
}
printf("We have reached EOF: %i \n",feof(f));
fseek(f,0,SEEK_CUR);
printf("We have reached EOF: %i \n",feof(f));
}

输出

We have reached EOF: 1 
We have reached EOF: 0

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com