How to get the current file pointer position in binary file with C

2 Answers

0 votes
#include <stdio.h>

#define SIZE 5

int main(void)
{
    const char* filename = "d:\\date.bin";
    double arr1[SIZE] = {1.1, 2.23, 3.333, 4.4444, 5.55555};

    FILE* fp = fopen(filename, "wb");
    fwrite(arr1, sizeof(double), SIZE, fp);

    fpos_t pos;
    fgetpos(fp, &pos); // sizeof(double) = 8 // SIZE = 5 // 8 * 5 = 40
    printf("%lld", pos);

    fclose(fp);
}




/*
run:

40

*/

 



answered Feb 3, 2023 by avibootz
0 votes
#include <stdio.h>

#define SIZE 5

int main(void)
{
    const char* filename = "d:\\date.bin";
    double arr1[SIZE] = {1.1, 2.23, 3.333, 4.4444, 5.55555};

    FILE* fp = fopen(filename, "wb");
    fwrite(arr1, sizeof(double), SIZE, fp);

    long pos = ftell(fp); // sizeof(double) = 8 // SIZE = 5 // 8 * 5 = 40
    printf("%ld", pos);

    fclose(fp);
}




/*
run:

40

*/

 



answered Feb 3, 2023 by avibootz

Related questions

...