atoi转换返回单个数字值

typ*_*er2 2 c++ atoi

我有一个像这样的字符数组:

+---+---+---+
|53.|.7.|...|
|6..|195|...|
|.98|...|.6.|
+---+---+---+

我使用int数组来存储特定索引处的特定值.对于转换我用过

            for(int i=0;i<27;i++)
        {
        inputNumArray[i]=atoi(&inputInitial[indexArray[i]]);        
        }
Run Code Online (Sandbox Code Playgroud)

现在问题是我想要的出局是:

5       3      0       0       7       0       0       0       0
6       0      0       1       9       5       0       0       0
0       9      8       0       0       0       0       6       0

并且代码返回给我:

53      3       0       0       7       0       0       0       0
6       0       0       195     95      5       0       0       0
0       98      8       0       0       0       0       6       0

我假设原因是atoi扫描直到它找到字符并且对于atoi(&inputInitial [i])它将读取直到i + 1,i + 2 ......依此类推,直到遇到错误.我想将atoi扫描限制为单个字符.是否有可能或者我应该使用其他功能?

zmb*_*mbq 8

不要使用atoi,只需使用:

if(isdigit(c))
    val = c - '0';
else
    val = 0
Run Code Online (Sandbox Code Playgroud)