最近在看文件操作函数时对文件内部的位置指针有点疑惑
测试代码:
  pos = ftell(fp);
    
    while (!(flag = feof(fp)))
    {
        fscanf_s(fp, "%c", &ch, 1);
        pos = ftell(fp);
    }
测试文本文件:

断点调试结果:

我对文件指针内部的成员_ptr的理解是“下一个要被读取的字符的地址”
对上面的测试结果我假设了两种文件开头和文件结尾的位置
第一种:文件开头的地址与文本文件中第一个字符'1'的地址相同,文件结尾的地址是文本文件最后一个字符的后一位,如下图

第二种:文件开头的地址是文本文件中的第一个字符'1'的前一位,文件结尾的地址与文本文件最后一位字符'3'的地址相同,如下图

现在不是很清楚是第一种还是第二种地址分布,其实就是对文本文件的首尾的理解很模糊,没搞清楚边界
望不吝赐教,不胜感激