秋意盎然花尽开
2019-07-12 21:16
采纳率: 100%
浏览 587

C语言文件操作的指针问题

C语言文件操作
fseek(fp,0,SEEK_SET);
File *k=fp;
fseek(fp,0,SEEK_END);
为什么k=fp啊
我明明把指向文件头指针的地址赋予了k,
然后用文件操作,使fp从指向它这个文件头变成了指向文件尾。

  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

3条回答 默认 最新

  • threenewbee 2019-07-12 22:14
    已采纳

    fseek(fp,0,SEEK_END);
    ->
    fseek(k,0,SEEK_END);

    因为你改变的是fp不是k

    好比
    int i = 1;
    int j = i;
    i = 2;
    此时j还是1

    已采纳该答案
    打赏 评论
  • qq_43161510 2019-07-13 00:02

    你先把fp的指针赋给k k就是目前fp的指针
    之后改变fp的指针 但k还指向之前fp的指针

    打赏 评论
  • [TheChosenOne] 2019-07-13 08:54

    这个是文件流指针,标识的文件流,不是位置,否则ftell返回的就是文件流指针而不是long数据了

    打赏 评论

相关推荐 更多相似问题