cc [flag . . . ] file . . . -lgen [library] . . .
char strccpy (char output, const char input);
char strcadd (char output, const char input);
char strecpy (char output, const char input, const char exceptions);
char streadd (char output, const char input, const char exceptions);
strcadd is identical to strccpy, except that it returns the pointer to the null byte that terminates the output.
strecpy copies the input string, up to a null byte, to the output string, expanding non-graphic characters to their equivalent C-language escape sequences (for example, \n, \001). The output argument must point to a space big enough to accommodate the result; four times the space pointed to by input is guaranteed to be big enough (each character could become \ and 3 digits). Characters in the exceptions string are not expanded. The exceptions argument may be zero, meaning all non-graphic characters are expanded. strecpy returns the output argument
streadd is identical to strecpy, except that it returns the pointer to the null byte that terminates the output.
/ expand all but newline and tab / strecpy( output, input, "\n\t" );
/ concatenate and compress several strings / cp = strcadd( output, input1 ); cp = strcadd( cp, input2 ); cp = strcadd( cp, input3 );