The header file <pgmspace.h> defines a number of functions written to be compatible with the corresponding file in IAR’s Embedded Workbench for AVR products EWA90 and EWAVR.
IAR's header file uses the suffic “_P” to indicate that constant strings are stored in program (code) space rather than data space. CrossWorks for AVR uses the suffix “_c” to indicate the same, so this header file defines macros ending in “_P” that expand to the equivalent CrossWorks for AVR function names. For instance, this header file defines the IAR-compatible function named printf_P like this:
#define printf_P printf_c
The following are the macros which are defined by this header file:
Formatted input functions | |
scanf_P | Read formatted text from standard input |
sscanf_P | Read formatted text from a string |
vscanf_P | Read formatted text from standard input using a va_list argument |
vsscanf_P | Read formatted text from a string using a va_list argument |
Formatted output functions | |
printf_P | Write formatted text to standard output |
snprintf_P | Write formatted text to a string with truncation |
sprintf_P | Write formatted text to a string |
vprintf_P | Write formatted text to standard output using a va_list argument |
vsnprintf_P | Write formatted text to a string with truncation using a va_list argument |
vsprintf_P | Write formatted text to a string using a va_list argument |
Copying functions | |
memcpy_P | Copy memory |
strcpy_P | Copy string |
strncpy_P | Copy string up to a maximum length |
Concatenation functions | |
strcat_P | Concatenate strings |
strncat_P | Concatenate string up to a maximum length |
Comparison functions | |
memcmp_P | Compare memory contents |
strcmp_P | Compare strings |
strncmp_P | Compare strings up to a maximum length |
Miscellaneous functions | |
puts_P | Write a string to standard output |
strlen_P | Calculate length of string |