wuOverflow
int convert(char buf[], int value)
{
    constexpr char digits[] = {\'9\', \'8\', \'7\', \'6\', \'5\', \'4\', \'3\', \'2\', \'1\', \'0\',
                               \'1\', \'2\', \'3\', \'4\', \'5\', \'6\', \'7\', \'8\', \'9\'};
    const char* zero = digits + 9;
    int   i = value;
    char* p = buf;
    do{
        int pushed_nunmber_index = i % 10;
        i /= 10;
        *p++ = zero[pushed_nunmber_index];
    }while(i != 0);
    if (value < 0){
        *p++ = \'-\';
    }
    *p = \'\0\';
    std::reverse(buf, p);
    return static_cast<int>(p - buf);
}

 

分类:

技术点:

相关文章: