C ++ Как конвертировать символ в цифру?

 

Atoi преобразовывает строку в число. А символ - это не строка. Код будет например таким:

nt summ = 0; //переменная в которой будет сумма всех цифр
int i = 0;
for (; i < myString.length(); ++i)
{
    char buff[2]; //массив который будет хранить один символ
    buff[0] = myString[i];
    buff[1] = '\0' //символ конца строки
    summ += atoi(buff);
}
...

но работает и без строчки buff[1] = '\0' , зачем она нужна?
 
atoi() берет строку, а строка должна завершаться двоичным нулем. У Вас "и без строчки buff[1] = '\\0'" работало только потому, что он (двоичный ноль) там случайно оказался.




Комментариев нет: