Правильный способ преобразования числа char * в int32_t

Я хочу преобразовать число из формата char * в 32-битное целое число int32_t, но strtol () возвращает long.

Я не знаю длину long на моей машине. Это может быть 32 или 64 бит или что-то еще в будущем.

Каков правильный и надежный способ преобразовать строку в 32-битное целое число int32_t? Или преобразовать long в int32_t.

Является ли сравнение с константами _MAX и _MIN единственным и наиболее простым способом?

5
задан Marko Kevac 17 November 2011 в 12:41
поделиться