/* copy N "visible" chars, adding a null in the position just beyond them */ #define MSTRNCPY( dst, src, len) ( strncpy( (dst), (src), (len)), (dst)[ (len) ] = '\0') and perhaps even: /* pull up to size - 1 "visible" characters into a fixed size buffer of known...
When the char that t points to is '\0', the while loop will terminate. Until then, it will copy the char that t is pointing to to the char that s is pointing to, then increment s and t to point to the next char in their arrays. Share Improve this answer Follow answered May 1...
though imo, strncpy should be used instead of memcpy, but you'll still have to null terminate it. (also your example leaks memory).memcpy does not check the terminating null character, so carefully using with strings. The behavior of memcpy can be undefined if you try to access the ...