Concatenate one string on to the end of another
#include <string.h> int straddstr( const char * str, int len, char ** pbuf, size_t * pmaxbuf );
- The string that you want to add to the end of another.
- The number of characters from str that you want to add. If zero, the function adds all of str.
- The address of a pointer to the destination buffer.
- A pointer to the size of the destination buffer.
Use the -l c option to qcc to link against this library. This library is usually included automatically.
The straddstr() function adds str to the buffer pointed to by pbuf, respecting the maximum length indicated by pmaxbuf, and updates the values of pbuf and 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 value of len if it's nonzero; otherwise, the length of str (i.e. strlen(str)).