Query: strcstr
OS: debian
Section: 3pub
Format: Original Unix Latex Style Formatted with HTML and a Horizontal Scroll Bar
STRCSTR(3pub) C Programmer's Manual STRCSTR(3pub)NAMEstrcstr - convert memory block to printable C string notationSYNOPSIS#include <publib.h> void strcstr(char *str, size_t max, const void *block, size_t n);DESCRIPTIONstrcstr converts the contents of an arbitrary memory block (which need not be a zero terminated string) into a printable notation using normal C string literal syntax. This can be used for example to store potentially binary data in a file, or in debugging outputs. All characters for which there is a simple shorthand escape sequence (', ", ?, , a, , f, , , , v) are stored using that nota- tion. is stored as . All other non-printable characters are stored using a hexadecimal escape sequence. All other printable charac- ters are stored as is. The isprint(3) macro is used to determine whether a character is printable (i.e., whether it is printed as is, or using special notation). Therefore, the output depends on the locale.RETURN VALUEstrcstr returns nothing.EXAMPLEThe following code dumps input to the standard output in a guaranteed (modulo locale bugs) printable format. It might be used for debug- ging. #include <stdio.h> #include <publib.h> int main(void) { char line[512]; char cstr[512*(CHAR_BIT/4+1+2)+1]; /* +2 for x, +1 for , the rest to be able to store the hex code for 512 chars. */ while (fgets(line, sizeof(line), stdin) != NULL) { strcstr(cstr, sizeof(cstr), line, strlen(line)); printf("%s0, cstr); } return 0; }SEE ALSOpublib(3), strins(3)AUTHORLars Wirzenius (lars.wirzenius@helsinki.fi) Publib C Programmer's Manual STRCSTR(3pub)
Related Man Pages |
---|
xfree(3pub) - debian |
memdup(3pub) - debian |
xmemdup(3pub) - debian |
xfree(3pub) - opensolaris |
xmalloc(3pub) - opensolaris |