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

标签 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 类。

谢谢!

最佳答案

#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。

关于c++ - 将 C 样式字符串转换为整数数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40624043/

相关文章:

c++ - 将整数、短裤和字符映射到位模式

c++ - 在 C++ 中录制时从设备获取音量

c++ - g++ 在多个文件上比使用 Google mock 的单一文件慢得多

C++常量混淆

c++ - 使用 int*& 通过引用传递指针会导致奇怪的问题

c++ - 通过 switch 和 static_cast 访问多态对象的运行时类型

c++ - 从 char* 到 int 的无效转换。 C++ 错误;

c++ - 在函数参数上向上转换模板对象失败

c++ - C++ 中的 copy_if ……有问题

c++ - 调用 *shared_ptr* 的方法 - 引用计数会发生什么变化?