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