4 ms·
Strncpy like a boss
- tlb 12y agoPlease use strlcpy [1] instead. [1] http://www.unix.com/man-page/freebsd/3/strlcpy/ http://www.unix.com/man-page/freebsd/3/strlcpy/
- meowface 12y agoI feel like developers avoid use of much safer functions like this out of some misguided belief there'll be a performance impact, unfortunately. Premature optimization etc.
- ahomescu1 12y agoI imagine the biggest reason is actually portability. glibc [1] doesn't have strlcpy/strlcat, for example. 1 - http://lwn.net/Articles/507319/ http://lwn.net/Articles/507319/
- nly 12y agoPutting aside the fact that using sizeof is risky in itself, i'd argue the default form should be strncpy (buffer, "abcd", sizeof(buffer)); assert (!buffer[sizeof(buffer) - 1]);