将C样式字符串转换为整数数组

时间:2016-11-16 04:21:26

标签: c++

我有2个函数,它们被称为SplitInt(unsigned int x)SplitChar(char x[])

SplitInt接受任何正整数,例如12345,并将每个数字放入整数数组,但向后。因此对于SplitInt(12345),数组看起来像这样:

array[0] = 5
array[1] = 4
array[2] = 3
array[3] = 2
array[4] = 1

SplitChar()应该做同样的事情但是接受一个C风格的字符串,例如"12345"

如何将各个数字分开并将它们发送到整数数组?我不被允许使用string课程。

谢谢!

1 个答案:

答案 0 :(得分:1)

#define MAX_STR_LENGTH 100

int array[MAX_STR_LENGTH];

int SplitChar(char x[])
{
    int len = strlen( x );

    if ( len > MAX_STR_LENGTH )
        return -1;

    int i = 0;

    while ( i < len )
    {
        array[len-i-1] = x[i] - '0';
        i++;
    }

    return len;
}

返回字符串的长度,如果太长则返回-1。