---
name: "kstrtol"
section: "9"
platform: "linux"
package: "linux-manual-4.9"
version: "4.9.228-1"
release: "Debian 9 (Stretch)"
platforms: ["linux"]
url: "https://new.carta.tech/kstrtol"
---

# kstrtol(9)

convert a string to a long

## NAME

kstrtol - convert a string to a long

## SYNOPSIS

**int kstrtol(const char \*** *s***, unsigned int** *base***, long \*** *res***);**

## ARGUMENTS

*s*

The start of the string. The string must be null-terminated, and may also include a single newline before its terminating null. The first character may also be a plus sign or a minus sign.

*base*

The number base to use. The maximum supported base is 16. If base is given as 0, then the base of the string is automatically detected with the conventional semantics - If it begins with 0x the number will be parsed as a hexadecimal (case insensitive), if it otherwise begins with 0, it will be parsed as an octal number. Otherwise it will be parsed as a decimal.

*res*

Where to write the result of the conversion on success.

## DESCRIPTION

Returns 0 on success, -ERANGE on overflow and -EINVAL on parsing error. Used as a replacement for the obsolete simple\_strtoull. Return code must be checked.

## COPYRIGHT
