文件指针读取文件内容的时候,指针的地址一直没有改变?
以前一直以为文件指针读取内容后指针是向后移指向下一个字节,今天试着将函数调用两次发现其实指针地址一直没变。为什么是这样的,求提到相关容的参考书籍。
程序代码:
#include <stdio.h> #include <stdlib.h> //void fun(FILE * p); int main(void) { FILE * fp; char ch; if((fp = fopen("f:\\c.txt", "r")) == NULL) { fprintf(stderr,"Error!\n"); exit(1); } while (ch != EOF) { ch = getc(fp); printf("\n%p\n", fp); putchar(ch); } /* printf("%p\n", fp); fun(fp); printf("\n%p\n", fp); fun(fp); printf("\n%p\n", fp); */ fclose(fp); return 0; } /* void fun(FILE * p) { char ch = getc(p); while (ch != EOF) { ch = getc(p); printf("\n%p\n", p); putchar(ch); } } */