У меня есть массив символов, как это:преобразования atoi возвращать одно значение цифры
+---+---+---+ |53.|.7.|...| |6..|195|...| |.98|...|.6.| +---+---+---+
Я использую целочисленный массив для хранения конкретных значений в определенных индексах. Для преобразования я использовал
for(int i=0;i<27;i++)
{
inputNumArray[i]=atoi(&inputInitial[indexArray[i]]);
}
теперь проблема моя желательно из пут:
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 единственным символом. Возможно ли, или я буду использовать какую-то другую функцию?
Я бы предложить (isdigit (с)) (C-'0'): 0, но это один нормально ^^ – BenjaminB
я пропускаю я не использовал?: потому что typedef1 явно новичок C, и я подумал, что в этом случае лучше читать. По крайней мере, это мое официальное оправдание, это может быть мое длительное пребывание с Python. – zmbq
val = isdigit (c)? c-'0 ': 0; Я верю. –