Как преобразовать строку в длинную?

Там есть веревка.toInt(), но без строки.toLong() или множество других вариаций. Должен ли я прибегнуть к atol(String.c_str()) или есть лучший способ преобразовать строку в long?

, 👍7


2 ответа


Лучший ответ:

8

Использование atol(String.c_str()) для меня выглядит нормально. Если бы там была Веревочка.toLong() в любом случае так было бы написано.

На самом деле, глядя на код для строки.toInt() это именно то, что он делает:

long String::toInt(void) const
{
    if (buffer) return atol(buffer);
    return 0;
}

Итак, ответ таков: используйте строку.toInt().

,

Интересный. Интересно, почему они просто не назвали это " тоЛонг ()"??, @Sound Conception


1

Итак, ответ: используйте строку.toInt().

Вероятно, нет, так как это определение строкового метода:

длинная строка::toInt(void) const

Настоящая работа заключается в следующем:

атол(буфер);

ASCII - длинный.

,