Quality RTOS & Embedded Software

LIBRARIES

ff_fgetc()

[FreeRTOS+FAT Standard API Reference]

ff_stdio.h
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.

Returns:

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
Copyright (C) Amazon Web Services, Inc. or its affiliates. All rights reserved.