Concatenate one string on to the end of another
Synopsis:
#include <string.h>
int straddstr( const char * str,
int len,
char ** pbuf,
size_t * pmaxbuf );
Arguments:
- str
- The string that you want to add to the end of another.
- len
- The number of characters from str that you want to add.
If zero, the function adds all of str.
- pbuf
- The address of a pointer to the destination buffer.
- pmaxbuf
- A pointer to the size of the destination buffer.
Library:
libc
Use the -l c option to
qcc
to link against this library.
This library is usually included automatically.
Description:
The straddstr() function adds str to the buffer pointed to by pbuf,
respecting the maximum length indicated by pmaxbuf:
- If len is zero, straddstr() calls
strlen()
to determine the length of str.
In this case, str must be null-terminated.
- The straddstr() function null-terminates pbuf
whenever pmaxbuf is nonzero, even if the source string isn't
null-terminated (but len must be nonzero in this case).
- If len is nonzero, null bytes in the input have no special meaning
(i.e., straddstr() doesn't stop copying when it reads a null byte,
but it still null-terminates pbuf).
- If the full string can't be copied, it's truncated, but pbuf is still null-terminated.
The function updates *pbuf to point to the end of the string (i.e., the terminating null character)
and sets *pmaxbuf to be the number of bytes left in the string, including the terminating
null character.
Returns:
The value of len if it's nonzero; otherwise,
the length of str (i.e., strlen(str)).
Classification:
QNX Neutrino
Safety: |
|
Cancellation point |
No |
Interrupt handler |
Yes |
Signal handler |
Yes |
Thread |
Yes |