这个问题在测验中弹出:
用正确的数字替换“Z”以将 FILE 指针“fp”设置为文件的最后一个字节:
fseek( fp, Z, SEEK_END );
我的回答是 -1,因为对我来说,位于某个字节意味着位于某个位置使得附加到该文件会覆盖该字节并继续存储其他字节(如果有的话)似乎很自然。老师坚持0。如果你能解释一下,我将不胜感激。
最佳答案
-1 似乎是正确的。我刚刚试过了,fseek(f, -1, SEEK_END)
之后的 fgetc
产生了文件的最后一个字符。相对于 SEEK_END
查找 0 导致 fgetc
返回 EOF
。
很明显,指向文件的最后一个字节与指向文件末尾是不同的。此外,如果术语有任何歧义,那是测试失败,而不是学生失败。如果学生展示了预期的知识,他们应该获得学分。
关于c - fseek,到文件的最后一个字节是什么意思?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47596230/