How to convert string to long?
Using atol(String.c_str()) looks OK to me. If there was a String.toLong() it would be written that way anyway.

In fact, looking at the code for String.toInt() that's exactly what it does:

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


So the answer is: use String.toInt().