strmaxcpy - copy at most a given number of characters of string
#include <publib.h>
char *strmaxcpy(char *tgt, const char *src, size_t n);
strmaxcpy copies up to n-1 characters from the beginning of
src to tgt, then adds a '\0'. n must be at least 1. The
target string must be large enough to hold the result.
Note that unlike strncpy(3), this function always
terminates the result with '\0'. It also doesn't fill the result with extra
'\0' characters.
strmaxcpy returns its first argument.
To print out the first 69 characters of a string, you might do the following
(although familiarity with printf's format string might be more useful in this
case).
#include <stdio.h>
#include <publib.h>
void print42(const char *string) {
char copy[43]; /* 42 + '\0' */
puts(strmaxcpy(copy, string, sizeof(copy)));
}
Lars Wirzenius (lars.wirzenius@helsinki.fi)