Назва
strtol, strtoll, strtoq - перетворює ланцюжок на довге ціле
Огляд
#include <stdlib.h>
long int
strtol(const char nptr, char *endptr, int base);
long long int strtoll(const char nptr, char *endptr, int base);
Опис
Функція strtol() перетворює ланцюжок nptr на довге ціле, відповідно до основи системи числення base; остання повинна знаходитись між 2 та 36 включно, або бути спеціальним значенням 0.
Ланцюжок повинен починатися з необов'язкових пропусків (як їх розпізнає ?isspace(3)) з наступним необов'язковим знаком +' або
-'. Якщо base дорівнює нуль або 16, ланцюжок може включати префікс 0x' і число читатиметься як шістнадцяткове; нульове значення _base_ розглядається як десяткова система числення, хіба наступним знаком є
0', в такому випадку число вважатиметься вісімковим.
Остаток ланцюжка буде перетворено у значення типу long int у очевидний спосіб, зупиняючись на першому знакові, що не є чинною цифрою в даній системі числення. (В системах більших за десяткову, літера A' верхнього чи нижного регістру позначає 10,
B' - 11 і так далі, з `Z', що відповідає 35.)
Якщо значення endptr не дорівнює NULL, strtol() збереже адресу першого ж нечинного знаку в ******endptr.