/usr/share/doc/libnewlib-doc/libc.html/strtol.html is in libnewlib-doc 2.4.0.20160527-3.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 | <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<!-- Created by GNU Texinfo 6.5, http://www.gnu.org/software/texinfo/ -->
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>strtol (The Red Hat newlib C Library)</title>
<meta name="description" content="strtol (The Red Hat newlib C Library)">
<meta name="keywords" content="strtol (The Red Hat newlib C Library)">
<meta name="resource-type" content="document">
<meta name="distribution" content="global">
<meta name="Generator" content="makeinfo">
<link href="index.html#Top" rel="start" title="Top">
<link href="Document-Index.html#Document-Index" rel="index" title="Document Index">
<link href="Document-Index.html#SEC_Contents" rel="contents" title="Table of Contents">
<link href="Stdlib.html#Stdlib" rel="up" title="Stdlib">
<link href="strtoll.html#strtoll" rel="next" title="strtoll">
<link href="strtod.html#strtod" rel="prev" title="strtod">
<style type="text/css">
<!--
a.summary-letter {text-decoration: none}
blockquote.indentedblock {margin-right: 0em}
blockquote.smallindentedblock {margin-right: 0em; font-size: smaller}
blockquote.smallquotation {font-size: smaller}
div.display {margin-left: 3.2em}
div.example {margin-left: 3.2em}
div.lisp {margin-left: 3.2em}
div.smalldisplay {margin-left: 3.2em}
div.smallexample {margin-left: 3.2em}
div.smalllisp {margin-left: 3.2em}
kbd {font-style: oblique}
pre.display {font-family: inherit}
pre.format {font-family: inherit}
pre.menu-comment {font-family: serif}
pre.menu-preformatted {font-family: serif}
pre.smalldisplay {font-family: inherit; font-size: smaller}
pre.smallexample {font-size: smaller}
pre.smallformat {font-family: inherit; font-size: smaller}
pre.smalllisp {font-size: smaller}
span.nolinebreak {white-space: nowrap}
span.roman {font-family: initial; font-weight: normal}
span.sansserif {font-family: sans-serif; font-weight: normal}
ul.no-bullet {list-style: none}
-->
</style>
</head>
<body lang="en">
<a name="strtol"></a>
<div class="header">
<p>
Next: <a href="strtoll.html#strtoll" accesskey="n" rel="next">strtoll</a>, Previous: <a href="strtod.html#strtod" accesskey="p" rel="prev">strtod</a>, Up: <a href="Stdlib.html#Stdlib" accesskey="u" rel="up">Stdlib</a> [<a href="Document-Index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Document-Index.html#Document-Index" title="Index" rel="index">Index</a>]</p>
</div>
<hr>
<a name="strtol_002d_002d_002dstring-to-long"></a>
<h3 class="section">2.38 <code>strtol</code>—string to long</h3>
<a name="index-strtol"></a>
<a name="index-_005fstrtol_005fr"></a>
<p><strong>Synopsis</strong>
</p><div class="example">
<pre class="example">#include <stdlib.h>
long strtol(const char *restrict <var>s</var>, char **restrict <var>ptr</var>,int <var>base</var>);
long _strtol_r(void *<var>reent</var>,
const char *restrict <var>s</var>, char **restrict <var>ptr</var>,int <var>base</var>);
</pre></div>
<p><strong>Description</strong><br>
The function <code>strtol</code> converts the string <code>*<var>s</var></code> to
a <code>long</code>. First, it breaks down the string into three parts:
leading whitespace, which is ignored; a subject string consisting
of characters resembling an integer in the radix specified by <var>base</var>;
and a trailing portion consisting of zero or more unparseable characters,
and always including the terminating null character. Then, it attempts
to convert the subject string into a <code>long</code> and returns the
result.
</p>
<p>If the value of <var>base</var> is 0, the subject string is expected to look
like a normal C integer constant: an optional sign, a possible ‘<code>0x</code>’
indicating a hexadecimal base, and a number. If <var>base</var> is between
2 and 36, the expected form of the subject is a sequence of letters
and digits representing an integer in the radix specified by <var>base</var>,
with an optional plus or minus sign. The letters <code>a</code>–<code>z</code> (or,
equivalently, <code>A</code>–<code>Z</code>) are used to signify values from 10 to 35;
only letters whose ascribed values are less than <var>base</var> are
permitted. If <var>base</var> is 16, a leading <code>0x</code> is permitted.
</p>
<p>The subject sequence is the longest initial sequence of the input
string that has the expected form, starting with the first
non-whitespace character. If the string is empty or consists entirely
of whitespace, or if the first non-whitespace character is not a
permissible letter or digit, the subject string is empty.
</p>
<p>If the subject string is acceptable, and the value of <var>base</var> is zero,
<code>strtol</code> attempts to determine the radix from the input string. A
string with a leading <code>0x</code> is treated as a hexadecimal value; a string with
a leading 0 and no <code>x</code> is treated as octal; all other strings are
treated as decimal. If <var>base</var> is between 2 and 36, it is used as the
conversion radix, as described above. If the subject string begins with
a minus sign, the value is negated. Finally, a pointer to the first
character past the converted subject string is stored in <var>ptr</var>, if
<var>ptr</var> is not <code>NULL</code>.
</p>
<p>If the subject string is empty (or not in acceptable form), no conversion
is performed and the value of <var>s</var> is stored in <var>ptr</var> (if <var>ptr</var> is
not <code>NULL</code>).
</p>
<p>The alternate function <code>_strtol_r</code> is a reentrant version. The
extra argument <var>reent</var> is a pointer to a reentrancy structure.
</p>
<br>
<p><strong>Returns</strong><br>
<code>strtol</code> returns the converted value, if any. If no conversion was
made, 0 is returned.
</p>
<p><code>strtol</code> returns <code>LONG_MAX</code> or <code>LONG_MIN</code> if the magnitude of
the converted value is too large, and sets <code>errno</code> to <code>ERANGE</code>.
</p>
<br>
<p><strong>Portability</strong><br>
<code>strtol</code> is ANSI.
</p>
<p>No supporting OS subroutines are required.
</p>
<br>
<hr>
<div class="header">
<p>
Next: <a href="strtoll.html#strtoll" accesskey="n" rel="next">strtoll</a>, Previous: <a href="strtod.html#strtod" accesskey="p" rel="prev">strtod</a>, Up: <a href="Stdlib.html#Stdlib" accesskey="u" rel="up">Stdlib</a> [<a href="Document-Index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Document-Index.html#Document-Index" title="Index" rel="index">Index</a>]</p>
</div>
</body>
</html>
|