GSP
Quick Navigator

Search Site

Unix VPS
A - Starter
B - Basic
C - Preferred
D - Commercial
MPS - Dedicated
Previous VPSs
* Sign Up! *

Support
Contact Us
Online Help
Handbooks
Domain Status
Man Pages

FAQ
Virtual Servers
Pricing
Billing
Technical

Network
Facilities
Connectivity
Topology Map

Miscellaneous
Server Agreement
Year 2038
Credits
 

USA Flag

 

 

Man Pages


Manual Reference Pages  -  STRCSTR (3)

NAME

strcstr - convert memory block to printable C string notation

CONTENTS

Synopsis
Description
Example
Author

SYNOPSIS

#include <publib.h>
void strcstr(char *str, size_t max, const void *block, size_t n);

DESCRIPTION

strcstr 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, \b, \f, \n, \r, \t, \v) are stored using that notation. \0 is stored as \0. All other non-printable characters are stored using a hexadecimal escape sequence. All other printable characters 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 VALUE

strcstr returns nothing.

EXAMPLE

The following code dumps input to the standard output in a guaranteed (modulo locale bugs) printable format. It might be used for debugging.



#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 \0,                                                 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 ALSO

publib(3), strins(3)

AUTHOR

Lars Wirzenius (lars.wirzenius@helsinki.fi)
Search for    or go to Top of page |  Section 3 |  Main Index


Publib STRCSTR (3) C Programmer's Manual

Powered by GSP Visit the GSP FreeBSD Man Page Interface.
Output converted with manServer 1.07.