strncpy和snprintf
[| 2012/02/29 19:06]
之前用strncpy总是感觉比较恶,老是要考虑最后\0的问题,今天仔细看了下,发现如果源串长度大于等于最大长度的话,strncpy会直接拷贝最大长度,不在后面加\0,也就是说在用一个字符串覆盖另一个字符串一部分的时候用strncpy是很不错的,但全覆盖的话比较麻烦,很容易出bug。
而snprintf会拷贝最大长度-1的字符数,并在后面加\0,使用一个字符串覆盖另一个时很不错。
看了一下资料,发现snprintf的效率也要高于strncpy。
日常字符串拷贝还是推荐snprintf。
而snprintf会拷贝最大长度-1的字符数,并在后面加\0,使用一个字符串覆盖另一个时很不错。
看了一下资料,发现snprintf的效率也要高于strncpy。
日常字符串拷贝还是推荐snprintf。