[FreeRTOS+FAT Standard API Reference]
int ff_fgetc( FF_FILE * pxStream );
Reads a single byte from an open file in the embedded FAT file system. The read/write position is incremented by one.
Returning a char in an int may not seem optimal, but the ff_fgetc() prototype conforms to the standard and expected stdio fgetc() function prototype.
A pointer to the file from which the data is being read.
This is the same pointer that was returned from the call
to ff_fopen() used to originally open the file.
On success the byte read from the file system is returned. If a byte could not be read from the file because the read position is already at the end of the file then FF_EOF is returned.
void vSampleFunction( char *pcFileName, char *pcBuffer, int32_t lBufferSize )
/* Open the file specified by the pcFileName parameter. */
pxFile = ff_fopen( pcFileName, “r” );
/* Read the number of bytes specified by the lBufferSize parameter. */
for( lBytesRead = 0; lBytesRead < lBufferSize; lBytesRead++ )
iReturnedByte = ff_fgetc( pxFile );
if( iReturnedByte == FF_EOF )
/* A byte could not be read because the end of the file has
been reached. */
/* Write the byte into the buffer. */
pcBuffer[ lBytesRead ] = ( char ) iReturnedByte;
/* Finished with the file. */
ff_fclose( pxFile );
Example use of the ff_fgetc() API function