Basically, i have a file of an unkown size, with no header etc. to get information from about the size of the file! ...All i need to do is to allocate memory using malloc, creating a pointer to the allocated memory and then read the file char by char into the memory!

Does anyone know the best way to find the length of the file????

I have tried a few different ways, but they don't seem to work! This is what i am doing at the moment, but when i print the memory, it is just blank, no data gets put into it!!!!

Code:
FILE *fp;
char    *buffer;
long    numbytes;

/* open an existing file for reading NOTE: filename is not the file i am opening, its just for example!*/
fp = fopen("filename", "r");
 
/* quit if the file does not exist */
if(fp == NULL)
    return 1;
 
/* Get the number of bytes */
fseek(fp, 0L, SEEK_END);
numbytes = ftell(fp);
 
/* reset the file position indicator to 
the beginning of the file */
fseek(fp, 0L, SEEK_SET);	
 
/* grab sufficient memory for the 
buffer to hold the text */
buffer = (char*)calloc(numbytes, sizeof(char));	
 
/* memory error */
if(buffer == NULL)
    return 1;
 
/* copy all the text into the buffer */
fread(buffer, sizeof(char), numbytes, fp);
fclose(fp);

/* confirm we have read the file by
outputing it to the console */
printf("contents of file:\n%s", buffer);
 
/* free the memory we used for the buffer */
free(buffer);