我有一个包含7个元素的数组,其中包含一些值组合..
例如,我需要从第2个变为第4个变为234个int。
char myarray [5] = {' 1',' 2',' 3',' 4',' 5'' 6'&#39 7'};
int i = atoi(myarray);
printf("%d \ n",i);
这样,它返回int,但返回所有数组值... 1234567
答案 0 :(得分: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)
。没有错误检查非数字字符或无效参数。