Specifications

CAVR-4
Part 2. Compiler reference
Library functions
251
puts_P int puts_P(PGM_P __s);
Identical to puts except that the string to be written is in flash memory, not in data
memory. This function is available in both the CLIB and the DLIB library.
scanf_P int scanf_P(PGM_P __format,…);
Identical to scanf except that the format string is in flash memory, not in data memory.
This function is available in both the CLIB and the DLIB library. For information about
how to override the default formatter, see Specifying read and write formatters, page
250.
sprintf_P int sprintf_P(char *__s, PGM_P __format,…);
Identical to sprintf except that the format string is in flash memory, not in data
memory. This function is available in both the CLIB and the DLIB library.
sscanf_P int sscanf_P(const char *__s, PGM_P __format,…);
Identical to sscanf except that the format string is in flash memory, not in data memory.
This function is available in both the CLIB and the DLIB library.
strcat_G char *strcat_G(char *s1, const char __generic *s2);
Identical to strcat except that string s2 can be in flash or data memory. This function
is only available in the DLIB library.
strcmp_G int strcmp_G(const char *s1, const char __generic *s2);
Identical to strcmp except that string s2 can be in flash or data memory. This function
is only available in the DLIB library.
strcmp_P int strcmp_P(const char *s1, PGM_P s2);
Identical to strcmp except that string s2 is in flash memory, not in data memory. This
function is available in both the CLIB and the DLIB library.
strcpy_G char *strcpy_G(char *s1, const char __generic *s2);
Identical to strcpy except that the string s2 being copied can be in flash or data
memory. This function is only available in the DLIB library.