在我的项目中,我编写了这样的转换函数:
// len should be > 0
uint32_t stringToInt(unsigned char const* buffer, int len) {
uint32_t result = buffer[0] - '0';
for (int i = 1; i < len; i++) {
result *= 10;
result += buffer[i] - '0';
}
return result;
}
是否有任何 stl / boost 方法可以以相同的速度做同样的事情?如果不是这样,那么您可以进一步改进我的版本吗?
我不能使用atoi
,因为它不允许提供len
. 我也不想为atoi
调用创建临时缓冲区。