Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/61.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
为什么可以';是否使用fseek()访问EOF? #包括 int main() { 文件*fp=fopen(“introduct.txt”、“rt”); fseek(fp,0,SEEK_END); int i=feof(fp); printf(“%d”,i); fseek(fp,1,SEEK_END); i=feof(fp); printf(“%d”,i); fseek(fp,-1,SEEK_END); i=feof(fp); printf(“%d”,i); 返回0; }_C_File_Eof - Fatal编程技术网

为什么可以';是否使用fseek()访问EOF? #包括 int main() { 文件*fp=fopen(“introduct.txt”、“rt”); fseek(fp,0,SEEK_END); int i=feof(fp); printf(“%d”,i); fseek(fp,1,SEEK_END); i=feof(fp); printf(“%d”,i); fseek(fp,-1,SEEK_END); i=feof(fp); printf(“%d”,i); 返回0; }

为什么可以';是否使用fseek()访问EOF? #包括 int main() { 文件*fp=fopen(“introduct.txt”、“rt”); fseek(fp,0,SEEK_END); int i=feof(fp); printf(“%d”,i); fseek(fp,1,SEEK_END); i=feof(fp); printf(“%d”,i); fseek(fp,-1,SEEK_END); i=feof(fp); printf(“%d”,i); 返回0; },c,file,eof,C,File,Eof,我试图访问文件末尾的EOF定位“文件位置指示器”。 但是这个代码的结果是“000”。 为什么会发生这种情况?函数不会报告它处于EOF状态,除非您尝试读取一些数据,但没有数据可读取 您可以查找当前EOF之外的文件,该文件已打开以供写入(或已打开以供读取和写入) 有关为什么很少(如果曾经)需要使用feof()的更多信息,请参阅。在某些方面,feof()是一个你应该忘记的函数-如果你认为它不存在,你的大多数程序都会改进。在你尝试读取一些数据并且没有数据可读取之前,feof()函数不会报告它处于EOF

我试图访问文件末尾的EOF定位“文件位置指示器”。
但是这个代码的结果是“000”。 为什么会发生这种情况?

函数不会报告它处于EOF状态,除非您尝试读取一些数据,但没有数据可读取

您可以查找当前EOF之外的文件,该文件已打开以供写入(或已打开以供读取和写入)

有关为什么很少(如果曾经)需要使用
feof()
的更多信息,请参阅。在某些方面,
feof()
是一个你应该忘记的函数-如果你认为它不存在,你的大多数程序都会改进。

在你尝试读取一些数据并且没有数据可读取之前,
feof()
函数不会报告它处于EOF

您可以查找当前EOF之外的文件,该文件已打开以供写入(或已打开以供读取和写入)

有关为什么很少(如果曾经)需要使用
feof()
的更多信息,请参阅。在某些方面,
feof()
是一个你应该忘记的函数-如果你认为它不存在,你的大多数程序都会得到改进。

非常清楚(强调我的):

此函数仅报告most报告的流状态 最近的I/O操作,它不会检查关联的数据源。 例如,如果最近的I/O是
fgetc
,则返回 文件的最后一个字节,
feof
返回零下一个
fgetc
失败并且 将流状态更改为文件结尾。只有当
feof
返回 非零。

在典型用法中,输入流处理在出现任何错误时停止<代码>feof和 然后使用ferror来区分不同的错误 条件

非常清楚(强调我的):

此函数仅报告most报告的流状态 最近的I/O操作,它不会检查关联的数据源。 例如,如果最近的I/O是
fgetc
,则返回 文件的最后一个字节,
feof
返回零下一个
fgetc
失败并且 将流状态更改为文件结尾。只有当
feof
返回 非零。

在典型用法中,输入流处理在出现任何错误时停止<代码>feof和 然后使用ferror来区分不同的错误 条件


必须从文件中读取以获得EOF。7.21.9.2 fseek函数p5清除流的文件结束指示符,然后建立新位置。必须从文件中读取以获得EOF。7.21.9.2 fseek函数p5清除流的文件结束指示符,然后建立新位置。
#include <stdio.h>

int main()
{
    FILE * fp = fopen("Introduce.txt","rt");

    fseek(fp,0,SEEK_END);
    int i = feof(fp);
    printf("%d",i);

    fseek(fp,1,SEEK_END);
    i = feof(fp);
    printf("%d",i);

    fseek(fp,-1,SEEK_END);
    i = feof(fp);
    printf("%d",i);

    return 0;
}