Strtol: Porovnání verzí

Smazaný obsah Přidaný obsah
Robot: Opravuji 1 zdrojů and označuji 0 zdrojů jako nefunkční #IABot (v2.0beta15)
m <source> -> <syntaxhighlight> (phab:T237267)
 
Řádek 1:
'''strtol''' je funkce [[C (programovací jazyk)|programovacího jazyka C]], která převádí celé číslo v řetězeci znaků na proměnnou typu <code>long int</code>. Název <code>strtol</code> znamená ''string to long''. Funkce je implementována ve [[standardní knihovna jazyka C|standardní knihovně jazyka C]] a deklarována v [[hlavičkový soubor|hlavičkovém souboru]] <code>[[stdlib.h]]</code> s následujícím prototypem.
 
<sourcesyntaxhighlight lang="c">
long strtol(const char *restrict str, char **restrict end, int base);
</syntaxhighlight>
</source>
 
Argument <code>str</code> ukazuje na řetězec reprezentovaný polem znaků, který obsahuje ''znakovou'' reprezentaci hodnoty znaménkového celého čísla. Řetězec musí být zakončen znakem '\0'. Argument <code>base</code> určuje základ číselné soustavy, která se má použít (od 2 do 36). Pokud je číslo větší než 10, znaky abecedy (<code>'A'</code> až <code>'Z'</code>) se v reprezentaci použijí jako číslice. Po konverzi je hodnota odkazující na <code>end</code> nastavena tak, aby ukazovala na znak, který následuje po posledním platném číselném znaku v řetězci. Dále je převedené číslo vráceno jako návratová hodnota funkce. Pokud řetězec neobsahuje platnou číselnou posloupnost, je vrácena nula (0) a globální proměnná <code>[[errno]]</code> je nastavena na hodnotu <code>EINVAL</code>.