Я использую эту маленькую программу, чтобы понять, как работает ftell. Я создал текстовый файл, и я набрал «15» и ниже, во второй строке «нет». Итак, я ожидал, что он напечатает 0, затем после того, как он прочитает 15, напечатает 2, а затем, поскольку нет во второй строке, то есть я оставил несколько «доступных мест» в первой строке, которые я мог бы заполнить большим количеством символов я бы ожидал, что он напечатает определенно большее число, чем 7 (что он и напечатал) ПОЧЕМУ?
#include <stdio.h>
#include <stdlib.h>
int main()
{
FILE *fp;
int x;
char box[10];
fp = fopen("test.txt", "r");
printf("%ld", ftell(fp));
fscanf(fp,"%d",&x );
printf("\n%ld", ftell(fp));
fscanf(fp, "%s", box);
printf("\n%ld\n", ftell(fp));
}
вывод: 0 2 7