fseek与SEEK_CUR问题

时间:2014-09-27 02:54:04

标签: c fseek

#include <stdio.h>
main ()
{
 FILE *fs, *ft;
  char dest[20];
  fs = fopen ("STACKOVERFLOW.txt", "r");
  fseek (fs, 0, SEEK_END);
  fseek (fs, -3, SEEK_CUR);
  fgets (dest, 5, fs);
  printf ("dest value is %s ", dest);
}

我的堆栈溢出文件包含:

&#34;我喜欢STACKOVERFLOW&#34;。

我期待输出&#39; LOW&#39;作为我提取的最后3个字符。

但是,我的节目打印了“OW&#39;仅

正确的行为是什么?

1 个答案:

答案 0 :(得分:3)

您几乎肯定会在文件末尾包含新行字符。尝试:

printf ("dest value is %s-xxx- ", dest);

并确认-xxx-出现在下一行。