Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/58.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/27.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
C fseek,文件的最后一个字节是什么意思?_C_File_Fseek - Fatal编程技术网

C fseek,文件的最后一个字节是什么意思?

C fseek,文件的最后一个字节是什么意思?,c,file,fseek,C,File,Fseek,这个问题在一次测验中突然出现: 将“Z”替换为正确的数字,以将文件指针“fp”设置为文件的最后一个字节: fseek( fp, Z, SEEK_END ); 我的答案是-1,因为对我来说,处于某个字节似乎很自然,意味着处于这样一个位置,即附加到该文件将覆盖该字节,并继续存储其他字节(如果有的话)。老师坚持0。如果您能解释一下,我将不胜感激。-1似乎是正确的。我刚刚试过,在fseek(f,-1,SEEK\u END)之后的fgetc生成了文件的最后一个字符。相对于SEEK\u END查找0导致f

这个问题在一次测验中突然出现:

将“Z”替换为正确的数字,以将文件指针“fp”设置为文件的最后一个字节:

fseek( fp, Z, SEEK_END );

我的答案是-1,因为对我来说,处于某个字节似乎很自然,意味着处于这样一个位置,即附加到该文件将覆盖该字节,并继续存储其他字节(如果有的话)。老师坚持0。如果您能解释一下,我将不胜感激。

-1似乎是正确的。我刚刚试过,在
fseek(f,-1,SEEK\u END)
之后的
fgetc
生成了文件的最后一个字符。相对于
SEEK\u END
查找0导致
fgetc
返回
EOF


显然,指向文件的最后一个字节不同于指向文件的结尾。此外,如果术语有任何歧义,那是考试的失败,而不是学生的失败。如果学生已经证明了预期的知识,他们应该获得学分。

-1似乎是正确的。我刚刚试过,在
fseek(f,-1,SEEK\u END)
之后的
fgetc
生成了文件的最后一个字符。相对于
SEEK\u END
查找0导致
fgetc
返回
EOF


显然,指向文件的最后一个字节不同于指向文件的结尾。此外,如果术语有任何歧义,那是考试的失败,而不是学生的失败。如果学生展示了预期的知识,他们应该获得学分。

Hmm,我们无法判断您是否正确地将老师的问题从格鲁吉亚语翻译为英语。老师说你没有,就这样吧。这是一个SDSU项目,所以是英语的。这正是英语中的问题嗯,我们无法判断你是否正确地将老师的问题从格鲁吉亚语翻译成英语。老师说你没有,就这样吧。这是一个SDSU项目,所以是英语的。这正是英语中的问题。请注意,这取决于实现。使用
fseek()
查找以二进制模式打开的文件的结尾是一种未定义的行为:“二进制流不需要有意义地支持
fseek
调用,调用值为
seek\u end
”,在以文本模式打开的文件上使用
SEEK\u END
和非零偏移量也是未定义的行为:“对于文本流,
offset
应为零,或者
offset
应为先前成功调用
ftell
函数返回的值……”因此在严格符合C代码的情况下,无法完成。请注意,这取决于实现。使用
fseek()
查找以二进制模式打开的文件的结尾是一种未定义的行为:“二进制流不需要有意义地支持
fseek
调用,调用值为
seek\u end
”,在以文本模式打开的文件上使用
SEEK\u END
和非零偏移量也是未定义的行为:“对于文本流,
offset
应为零,或者
offset
应为先前成功调用
ftell
函数返回的值……”因此在严格符合C代码的情况下,这是无法实现的。