在 Arduino 中将某些数组元素连接成 int

问题描述 投票:0回答:1

我有一个包含 7 个元素的数组,其中包含一些值组合。

例如,我需要将第2个到第4个转换为234 int。

char myarray[5] = {'1','2','3','4','5','6','7'};

int i = atoi(myarray);

printf("%d\n", i);

这样,它返回 int,但所有数组值...1234567

concatenation
1个回答
1
投票

好的,试试这个:

int atoisub(char *s, int start, int end)
{
    int rv = 0;
    for (int i = start; i < end; ++i) {
        rv = rv * 10 + (s[i] - '0');
    }
    return rv;
}

称呼为

atoisub(myarray, 1, 4)
。不会对非数字字符或无效参数进行错误检查。

© www.soinside.com 2019 - 2024. All rights reserved.