Udostępnij za pośrednictwem


Konwertowanie ciągów na wartości

Uwagi

Każda funkcja w strtod z rodziny konwertuje ciąg zakończony wartością zerową wartość liczbową.Dostępne funkcje są wymienione w poniższej tabeli.

Funkcja

Opis

strtod

Konwertowanie ciągu na podwójnej precyzji wartość zmiennoprzecinkową wartości

strtol

Konwertowanie ciągu na liczba całkowita długa

strtoul

Konwertowanie ciągu na długa liczba całkowita bez znaku

_strtoi64

Konwertowanie ciągu na 64-bitowych __int64 liczba całkowita

_strtoui64

64-bitowe bez znaku przekonwertować ciągu na __int64 liczba całkowita

wcstod, wcstol, wcstoul, and _wcstoi64 are wide-character versions of strtod, strtol, strtoul, and _strtoi64, respectively.Argument ciąg, każda z tych funkcji szeroko charakter jest ciąg znaków wide; Każda funkcja zachowuje się identycznie jak jego odpowiednik bajt — jednoznakowy inaczej.

strtod Funkcja ma dwa argumenty: ciąg wejściowy jest pierwszy i drugi wskaźnik do znaku, który kończy proces konwersji.strtol, strtoul, _strtoi64 i _strtoui64 jako podstawowy numer do użycia w procesie konwersji przyjąć trzeciego argumentu.

Ciąg wejściowy jest sekwencją znaków, które mogą być interpretowane jako wartość liczbowa określonego typu.Każda funkcja przestaje czytać ciąg przy pierwszego znaku, który nie może rozpoznać jako elementu liczby.Może to być zakończone znakiem null.Dla strtol, strtoul, _strtoi64, i _strtoui64, ten znak odcinające można także pierwszy znak numerycznych większa lub równa liczbie dostarczone przez użytkownika podstawowego.

Jeśli nie ustawiono dostarczone przez użytkownika wskaźnika do znaku końca konwersji wartości NULL w momencie wywołania wskaźnik znak, który przestał skanowanie będą tam przechowywane w zamian.Jeśli konwersja nie może być wykonywana (nie znaleziono żadnych prawidłowych cyfr lub określono nieprawidłowy base), wartość wskaźnika ciąg jest przechowywana pod tym adresem.

strtodspodziewa się ciągu następującą postać:

światła] sign] digits] **.**digits [ {d | D | e | E}signdigits

A światła może składać się z znaki spacji lub tabulatorów, które są ignorowane; sign is either plus (+) or minus (); i digits są jeden lub więcej cyfr dziesiętnych.Jeśli żadna cyfra pojawia się przed znakiem podstawy, co najmniej jedna musi być umieszczona po znaku podstawy.Cyfry dziesiętne może następować wykładniku, który składa się z listem (d, D, e, lub E) i opcjonalnie całkowita.Jeśli wykładnik ani znak podstawy nie pojawia się, przyjmuje się, że znak podstawy następuje po ostatniej cyfrze w ciągu.Pierwszy znak, który nie mieści się w tym formularzu zatrzymuje skanowanie.

strtol, strtoul, _strtoi64, I _strtoui64 funkcje oczekiwać ciąg następującą postać:

światła[{+ | }]0 { x | X}]] digits

Jeśli argument podstawowej jest między 2 a 36, następnie służy jako podstawa numer.Jeśli jest 0, początkowe znaki odwołuje się do wskaźnika celu konwersji są używane do określenia podstawy.Jeśli pierwszy znak jest równa 0, a nie jest drugi znak "x" lub "X", ciąg jest interpretowany jako całkowitą liczbę ósemkową; w przeciwnym razie jest interpretowany jako liczba dziesiętna.Jeśli pierwszym znakiem jest ,,0", a drugim znakiem jest ,,x" lub ,,X", ciąg jest interpretowany jako szesnastkowa liczba całkowita.Jeśli pierwszym znakiem jest ,,1" do ,,9", ciąg jest interpretowany jako dziesiętna liczba całkowita.Litery od "" do "z" (lub "" do "Z") są przypisane wartości 10 do 35; tylko litery, których wartości przypisane są mniej niż podstawowych są dozwolone.strtouli _strtoui64 pozwalają plus (+) lub minus () prefiks znak; wiodący znak minus wskazuje, że wartość zwracana jest zanegowane.

Wartość wyjściowa jest zależna od konfiguracji ustawień kategorii LC_NUMERIC ustawień regionalnych; zobacz setlocale, aby uzyskać więcej informacji.Wersje tych funkcji, które nie mają przyrostka _l używają bieżących ustawień regionalnych dla wszelkich zachowań zależnych od ustawień lokalnych; wersje, które mają przyrostek _l są identyczne, z tą różnicą, że w zamian korzystają z przekazanego parametru ustawień regionalnych.

Kiedy wartość zwracana przez te funkcje spowodowałoby przepełnienie lub niedomiar lub konwersja nie jest możliwe, specjalne wartości case są zwracane jak pokazano:

Funkcja

Warunek

Wartość zwracana

strtod

Przepełnienie

+/- HUGE_VAL

strtod

Niedopełnienie lub brak konwersji

0

strtol

+ Przepełnienia

LONG_MAX

strtol

-Przepełnienie

LONG_MIN

strtol

Niedopełnienie lub brak konwersji

0

_strtoi64

+ Przepełnienia

_I64_MAX

_strtoi64

-Przepełnienie

_I64_MIN

_strtoi64

Brak konwersji

0

_strtoui64

Przepełnienie

_UI64_MAX

_strtoui64

Brak konwersji

0

_I64_MAX, _I64_MIN, i _UI64_MAX są zdefiniowane w granicach.H.

wcstod, wcstol, wcstoul, _wcstoi64, and _wcstoui64 are wide-character versions of strtod, strtol, strtoul, _strtoi64, and _strtoui64, respectively; wskaźnik, aby argument każda z tych funkcji znakiem końca konwersji jest ciąg znaków wide.W przeciwnym razie każda z tych funkcji szeroko charakter działa identycznie z jego odpowiednikiem bajt — jednoznakowy.

Zobacz też

Informacje

Konwersja danych

Regionalne

Interpretacja wielobajtowych sekwencji znaków

Obsługa liczb zmiennoprzecinkowych

atof, _atof_l, _wtof, _wtof_l