### Example (fread -- Read Items)

This example attempts to read NUM_ALPHA characters from the a file. If there are any errors with either fread or fopen, a message is printed.

    #include <stdio.h>

    #define FILENAME "myfile.dat"

    #define NUM_ALPHA  26
    int main(void)
    {
      FILE * stream;
      int num;       /* number of characters read from stream */
      /* Do not forget that the '\0' char occupies one character too! */
      char buffer[NUM_ALPHA + 1];
      if (( stream = fopen("FILENAME", "r"))!= NULL )
      {
        memset(buffer, 0, sizeof(buffer));
        num = fread( buffer, sizeof( char ), NUM_ALPHA, stream );
        if ( num ) {  /* fread success */
          printf( "Number of characters has been read = %i\n", num );
          printf( "buffer = %s\n", buffer );
          fclose( stream );
        }
        else {  /* fread failed */
          if ( ferror(stream) )    /* possibility 1 */
            perror( "Error reading FILENAME" );
          else if ( feof(stream))  /* possibility 2 */
            perror( "EOF found" );
        }
      }
      else
        perror( "Error opening FILENAME" );
        return 0;

      /***************************************************************
         The output should be:

         Number of characters has been read = 26
         buffer = abcdefghijklmnopqrstuvwxyz
      ***************************************************************/
    }