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.
Parameters:
| pxStream |
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.
Example usage:
void vSampleFunction( char *pcFileName, char *pcBuffer, int32_t lBufferSize ) { FF_FILE *pxFile; int32_t lBytesRead; int iReturnedByte; /* 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. */ break; } else { /* 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