是否有一个功能,让我看看下一个字符?

时间:2010-09-28 17:50:46

标签: c function

c中有一个函数可以让我看一下数组中的下一个字符吗?我在哪里可以自己找到这些信息,我尝试了谷歌并在这个网站上寻找现有的线程。

我试图从一行中提取数字,然后存储这些数字。所以我想做一些像

这样的事情

if(c =数字和c“下一个字符”不是数字){value is = value * 10 + c-'0',商店号码}

3 个答案:

答案 0 :(得分:6)

如果当前字符为array[i],则下一个字符为array[i+1]

答案 1 :(得分:5)

您可以编写一个方法来执行此操作:

char next_char(char *array, int i, int size){
    return (++i) < size ? array[i] : '\0';
}

编辑:在阅读了你的问题后,这样的事情可能是合理的。

if(isdigit(array[i]) && !isdigit(next_char(array,i,size)){
    ..
}

更好的解决方案是for循环:

int val = 0;
for(i = 0; i < size; i++){
    if(isdigit(i)){
        val = 10 * val + array[i] - '0';
    }else{
        // Store the value
        val = 0;            
    }
}

答案 2 :(得分:0)

要从char数组中获取char,只需使用:

array[i]

其中is是索引。

如果要读取每个字符,可以使用循环:

for(size_t i = 0; i < sizeof(array); i++)
{
  char cur = array[i];
}

您也可以增加指针。