Collaboration diagram for Standard I/O:
#include <stdio.h>
In contrast to the standard, Nut/OS streams do not maintain there own buffers. Any input or output buffering is done in the device driver.
Nut/OS will not associate the standard streams stdin, stdout and stderr to a device when starting the application. Instead, freopen() can be used by the application to redirect any of these stream to any previously opened file, device or connected socket.
As an extension to the standard, many function come in an additional flavour with _P
appended to their name. These functions accept specific parameters pointing into program space.
Output Call Graph
Input Call Graph
Defines | |
#define | EOF (-1) |
End of file. | |
#define | _IOFBF 0x00 |
Fully buffered. | |
#define | _IOLBF 0x01 |
Line buffered. | |
#define | _IONBF 0x02 |
Unbuffered. | |
#define | stdin (__iob[0]) |
Standard input stream. | |
#define | stdout (__iob[1]) |
Standard output stream. | |
#define | stderr (__iob[2]) |
Standard error output stream. | |
#define | CF_LONG 0x01 |
#define | CF_SUPPRESS 0x02 |
#define | CF_SIGNOK 0x04 |
#define | CF_NDIGITS 0x08 |
#define | CF_PFXOK 0x10 |
#define | CF_NZDIGITS 0x20 |
#define | CF_DPTOK 0x10 |
#define | CF_EXPOK 0x20 |
#define | CT_CHAR 0 |
#define | CT_STRING 2 |
#define | CT_INT 3 |
#define | CT_FLOAT 4 |
#define | BUF 16 |
#define | PADSIZE 16 |
#define | ALT 0x01 |
#define | LADJUST 0x04 |
#define | LONGINT 0x08 |
#define | ZEROPAD 0x10 |
Typedefs | |
typedef __iobuf | FILE |
Stream structure type. | |
Functions | |
void | clearerr (FILE *stream) |
Reset error status of a stream. | |
int | fclose (FILE *stream) |
Close a stream. | |
void | fcloseall (void) |
Close all open streams. | |
FILE * | _fdopen (int fd, CONST char *mode) |
Open a stream associated with a file, device or socket descriptor. | |
int | feof (FILE *stream) |
Test if a stream reached the end of file. | |
int | ferror (FILE *stream) |
Test for an error on a stream. | |
int | fflush (FILE *stream) |
Flush a stream. | |
int | fgetc (FILE *stream) |
Read a character from a stream. | |
char * | fgets (char *buffer, int count, FILE *stream) |
Read a line from a stream. | |
int | _fileno (FILE *stream) |
Get the file descriptor associated with a stream. | |
void | _flushall (void) |
Flushes all streams. | |
int | _fmode (CONST char *mode) |
FILE * | fopen (CONST char *name, CONST char *mode) |
Open a stream. | |
int | fprintf (FILE *stream, CONST char *fmt,...) |
Print formatted data to a stream. | |
int | fprintf_P (FILE *stream, PGM_P fmt,...) |
Print formatted data to a stream. | |
int | fpurge (FILE *stream) |
Purge a stream, i.e. discards the input buffer. | |
int | fputc (int c, FILE *stream) |
Write a character to a stream. | |
int | fputs (CONST char *string, FILE *stream) |
Write a string to a stream. | |
int | fputs_P (PGM_P string, FILE *stream) |
Write a string from progam memory to a stream. | |
size_t | fread (void *buffer, size_t size, size_t count, FILE *stream) |
Read data from a stream. | |
FILE * | freopen (CONST char *name, CONST char *mode, FILE *stream) |
Reassign a stream. | |
int | fscanf (FILE *stream, CONST char *fmt,...) |
Read formatted data from a stream. | |
int | fscanf_P (FILE *stream, PGM_P fmt,...) |
Read formatted data from a stream. | |
int | fseek (FILE *stream, long offset, int origin) |
Move read/write position of a stream. | |
long | ftell (FILE *stream) |
Return the read/write position of a stream. | |
size_t | fwrite (CONST void *data, size_t size, size_t count, FILE *stream) |
Write data to a stream. | |
size_t | fwrite_P (PGM_P data, size_t size, size_t count, FILE *stream) |
Write data from program space to a stream. | |
int | getc (FILE *stream) |
Read a character from a stream. | |
int | getchar (void) |
Read a character from a standard input. | |
int | _getf (int _getb(int, void *, size_t), int fd, CONST char *fmt, va_list ap) |
Read formatted data using a given input function. | |
char * | gets (char *buffer) |
Get a line from the standard input stream. | |
int | printf (CONST char *fmt,...) |
Print formatted data to the standard output stream. | |
int | printf_P (PGM_P fmt,...) |
Print formatted output to the standard output stream. | |
int | putc (int c, FILE *stream) |
Write a character to a stream. | |
int | putchar (int c) |
Write a character to standard output. | |
int | _putf (int _putb(int, CONST void *, size_t), int fd, CONST char *fmt, va_list ap) |
Write formatted data using a given output function. | |
int | puts (CONST char *string) |
Write a string to stdout. | |
int | puts_P (PGM_P string) |
Write a string from program memory to stdout. | |
int | scanf (CONST char *fmt,...) |
Read formatted data from the standard input stream. | |
int | scanf_P (PGM_P fmt,...) |
Read formatted data from the standard input stream. | |
int | sprintf (char *buffer, CONST char *fmt,...) |
Write formatted data to a string. | |
int | sprintf_P (char *buffer, PGM_P fmt,...) |
Write formatted data to a string. | |
int | sscanf (CONST char *string, CONST char *fmt,...) |
Read formatted data from a string. | |
int | sscanf_P (CONST char *string, CONST char *fmt,...) |
Read formatted data from a string. | |
int | ungetc (int c, FILE *stream) |
Push a character back onto a stream. | |
int | vfprintf (FILE *stream, CONST char *fmt, va_list ap) |
Write argument list to a stream using a given format. | |
int | vfprintf_P (FILE *stream, PGM_P fmt, va_list ap) |
Write argument list to a stream using a given format. | |
int | vfscanf (FILE *stream, CONST char *fmt, va_list ap) |
Read formatted data from a stream. | |
int | vfscanf_P (FILE *stream, PGM_P fmt, va_list ap) |
Read formatted data from a stream. | |
int | vsprintf (char *buffer, CONST char *fmt, va_list ap) |
Write argument list to a string using a given format. | |
int | vsprintf_P (char *buffer, PGM_P fmt, va_list ap) |
Write argument list to a string using a given format. | |
int | vsscanf (CONST char *string, CONST char *fmt, va_list ap) |
Read formatted data from a string. | |
int | vsscanf_P (CONST char *string, PGM_P fmt, va_list ap) |
Read formatted data from a string. | |
Variables | |
FILE * | __iob [] |
FILE * | __iob [FOPEN_MAX] = { (FILE *) 1, (FILE *) 2, (FILE *) 3 } |
|
End of file. Returned by an input or output operation when the end of a file is encountered. Some routines return this value to indicate an error. |
|
Stream structure type. A pointer to this type is used for all standard I/O functions to specify a stream.
|
|
Reset error status of a stream.
|
|
Close a stream. The calling thread may be suspended until all buffered output data has been written.
|
|
Close all open streams. The standard streams stdin, stdout and stderr are not closed. The calling thread may be suspended until all buffered output data has been written. |
|
Open a stream associated with a file, device or socket descriptor.
|
|
Test if a stream reached the end of file.
|
|
Test for an error on a stream.
|
|
Flush a stream. The calling thread may be suspended until all buffered output data has been written.
|
|
Read a character from a stream.
|
|
Read a line from a stream. Read at most one less than the specified number of characters from a stream or stop when a newline has been read.
|
|
Get the file descriptor associated with a stream. In contrast to other implementations, the standard streams stdin, stdout and stderr do not return 0, 1 and 2 resp.
|
|
Open a stream.
|
|
Print formatted data to a stream.
|
|
Print formatted data to a stream. Similar to fprintf() except that the format string is located in program memory.
|
|
Purge a stream, i.e. discards the input buffer.
|
|
Write a character to a stream.
|
|
Write a string to a stream.
|
|
Write a string from progam memory to a stream. Similar to fputs() except that the string is located in program space.
|
|
Read data from a stream.
|
|
Reassign a stream.
|
|
Read formatted data from a stream.
|
|
Read formatted data from a stream. Similar to fscanf() except that the format string is expected in program space.
|
|
Move read/write position of a stream.
|
|
Return the read/write position of a stream.
|
|
Write data to a stream.
|
|
Write data from program space to a stream. Similar to fwrite() except that the data is located in program memory.
|
|
Read a character from a stream. Same as fgetc().
|
|
Read a character from a standard input.
|
|
Read formatted data using a given input function.
|
|
Get a line from the standard input stream. Read characters from a stream until a newline has been read.
|
|
Print formatted data to the standard output stream.
|
|
Print formatted output to the standard output stream. Similar to printf() except that the format string is located in program memory.
|
|
Write a character to a stream. Same as fputc().
|
|
Write a character to standard output.
|
|
Write formatted data using a given output function.
|
|
Write a string to stdout.
|
|
Write a string from program memory to stdout. Similar to puts() except that the string is located in program memory.
|
|
Read formatted data from the standard input stream.
|
|
Read formatted data from the standard input stream. Similar to scanf() except that the format string is located in program space.
|
|
Write formatted data to a string.
|
|
Write formatted data to a string. Similar to sprintf() except that the format string is located in program memory.
|
|
Read formatted data from a string.
|
|
Read formatted data from a string. Similar to sscanf() except that the format string is located in program space.
|
|
Push a character back onto a stream.
|
|
Write argument list to a stream using a given format.
|
|
Write argument list to a stream using a given format. Similar to vfprintf() except that the format string is located in program memory.
|
|
Read formatted data from a stream.
|
|
Read formatted data from a stream. Similar to vfscanf() except that the format string is located in program space.
|
|
Write argument list to a string using a given format.
|
|
Write argument list to a string using a given format. Similar to vsprintf() except that the format string is located in program memory.
|
|
Read formatted data from a string.
|
|
Read formatted data from a string. Similar to vsscanf() except that the format string is located in program space.
|