#include #include #include int main(void) { char *buf5; char *buf20; char *s1 = "01234567890"; char *s2 = "abcdefghijklmnopqrstuvwxyz"; int len; buf5 = malloc(5); if (buf5 == NULL) { perror("malloc"); exit(1); } buf20 = malloc(20); if (buf20 == NULL) { perror("malloc"); exit(1); } len = strlcpy(buf5, s1, 5); printf("copy to buf5: s1=\"%s\", len-s1=%d, str-in-buf=\"%s\", len-str-in-buf=%ld\n", s1, len, buf5, strlen(buf5)); len = strlcpy(buf20, s1, 20); printf("copy to buf20: s1=\"%s\", len-s1=%d, str-in-buf=\"%s\", len-str-in-buf=%ld\n", s1, len, buf20, strlen(buf20)); len = strlcat(buf20, s2, 20); printf("cat to buf20: s2=\"%s\", len-s1s2=%d, str-in-buf=\"%s\", len-str-in-buf=%ld\n", s2, len, buf20, strlen(buf20)); free(buf5); free(buf20); return 0; }