c语言使用fgetc(fp)和while循环计数,代码相同,为什么前后输出不一样?

#include <stdio.h>

int main(){
FILE *fp;
fp = fopen("D:\111.txt", "r");
if(fp!=NULL){
printf("File opened!\n");
} else {
printf("File not found!\n");
}

//loop 1
int t = 0;
int c;
while((c = fgetc(fp)) != EOF){
    t++;
}
printf("Characters with space/terminators: %d\n", t);

fflush(stdin);

//loop 2
int s = 0;
while((c = fgetc(fp)) != EOF){
    s++;        
}
printf("Characters without space/terminators: %d\n", s);

fclose(fp);

}

第一个循环,输出的结果为100,后一个数输出为0.
这是为什么呢?
我想达到的结果:后一个循环也能正常计数。

在第10行插入: rewind(fp);/*将文件指针重新指向文件开头*/