函数strncpy()
并不总是null终止,所以我想知道什么是总是null终止的最佳替代方案?我想要一个函数,如果:
strlen(src) >= n /*n is the number of characters to be copied from source*/
没有必要再添加这样的代码:
buf[sizeof(buf)-1] = 0;
如果要复制的字符串的长度未知,可以在此处使用snprintf
。此函数将格式化输出发送到str。它的作用类似于sprintf()
,但不写入str分配的更多字节。如果结果字符串的长度超过n-1
个字符,则会忽略其余字符。它还总是包括空终止符