summaryrefslogtreecommitdiff
path: root/reference/C/CONTRIB/SNIP/ansiflen.c
blob: 4dec5cd09d36d07089582db02cba3a74e4ca7e92 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
/*
**  FLENGTH.C - a simple function using all ANSI-standard functions
**              to determine the size of a file.
**
**  Public domain by Bob Jarvis.
*/

#include <stdio.h>

long flength(char *fname)
{
      FILE *fptr;
      long length = -1L;

      fptr = fopen(fname, "rb");
      if(fptr != NULL)
      {
            fseek(fptr, 0L, SEEK_END);
            length = ftell(fptr);
            fclose(fptr);
      }

      return length;
}

#ifdef TEST

main(int argc, char *argv[])
{
      printf("Length of %s = %ld\n", argv[0], flength(argv[0]));
      return 0;
}

#endif /* TEST */