4. strncpy is required to zero-fill the entire destination, which can be quite a performance pig if the destination is big and the strncpy is executed frequently.
Dean