共用方式為


數字值的函式的字串

備註

在每個函式 strtod 家族 null 結尾字串轉換為數字的值。 下表列出可用的功能。

Function

描述

strtod

將字串轉換為雙精度浮點數值

strtol

將字串轉換為 [長整數

strtoul

將字串轉換成不帶正負號的長整數

_strtoi64

將字串轉換為 64 位元__int64的整數

_strtoui64

將字串轉換為 64 位元不帶正負號__int64的整數

wcstod, wcstol, wcstoul, and _wcstoi64 are wide-character versions of strtod, strtol, strtoul, and _strtoi64, respectively. 每個寬字元函式的字串引數是一個寬字元字串 ; 每個函數的作用相同到它的單一 byte–character 相對否則。

strtod函式會接受兩個引數: 第一個輸入的字串,而且這樣會轉換程序的第二個字元的指標。 strtolstrtoul_strtoi64_strtoui64 採用第三個引數,以在轉換程序中使用的基底點數。

輸入的字串是一連串的字元會解譯為指定之型別的數值。 每個函式會停止讀取字串,它無法辨識的數字的第一個字元。 這可能是終止的空字元。 對於strtolstrtoul_strtoi64,和**_strtoui64**,結束的字元也可以是大於或等於使用者提供的數字基底的第一個數字字元。

如果使用者提供的指標,以在轉換的最後字元不設為 NULL 次呼叫變數的指標,停止掃描的字元將儲存在那裡相反。 如果可以不執行任何轉換 (找不到沒有有效的數字或指定無效的基底) 的字串指標值儲存在該位址。

strtod預期字串的格式如下:

泛空白字元]sign]digits] **.**digits [ {d | D | e | E}signdigits

A 泛空白字元可能會包含空格或 tab 字元,會被忽略 ; 正負號 可能是加上 (+) 或減號 (-)。 與digits是一或多個十進位數字。 如果沒有數字顯示的基數字元之前,至少一個必須顯示基數字元的後面。 十進位數字後面可以接著簡介的字母所組成的指數 (dde,或 e) 和一個選擇性帶正負號的整數。 指數的組件和基數字元都不會出現,基數字元假設跟隨在字串中的最後一個數字。 不適合這種形式的第一個字元就會停止掃描。

strtolstrtoul_strtoi64,以及**_strtoui64**函式預期的字串的格式如下:

泛空白字元[{+ | }]0 { x | X}]] digits

如果基底的引數是介於 2 和 36 之間,則它會使用的數字基底。 如果是 0,初始端在轉換的指標來參考的字元用來判斷基底中。 如果第一個字元是 0,第二個字元不是 'x' X',字串會解譯為八進位的整數。 否則,它即解譯為十進位的數字。 如果第一個字元是 '0',第二個字元是 'x' X',字串會解譯成十六進位整數。 如果第一個字元是 '1' 到' 9',此字串會解譯為十進位整數。 字母 'a' 到 'z' (或 'A' 到 'Z') 被指派的值 10,透過 35。 字母其指派的值是小於基底允許的。 strtoul與**_strtoui64允許加號 (+) 或減號 (-**) 符號前置詞。 前置的負號,表示傳回的值就會失效。

輸出值會影響的設定來LC_NUMERIC類別設定的地區設定; 請參閱 setlocale 如需詳細資訊。 這些函式版本 _l 尾碼會將目前的地區設定用於這個地區設定相關的行為。 與版本 _l 尾碼完全相同,不同之處在於它們使用地區設定參數中傳遞。

當這些函式所傳回的值會造成溢位或反向溢位,或特殊大小寫的值時無法轉換,則會傳回所示:

Function

條件

傳回值

strtod

溢位

+/- HUGE_VAL

strtod

反向溢位或無法轉換

0

strtol

+ 溢位

LONG_MAX

strtol

位溢

LONG_MIN

strtol

反向溢位或無法轉換

0

_strtoi64

+ 溢位

_I64_MAX

_strtoi64

位溢

_I64_MIN

_strtoi64

沒有轉換

0

_strtoui64

溢位

_UI64_MAX

_strtoui64

沒有轉換

0

_I64_MAX,_I64_MIN,以及 _UI64_MAX 所述的限制。H.

wcstod, wcstol, wcstoul, _wcstoi64, and _wcstoui64 are wide-character versions of strtod, strtol, strtoul, _strtoi64, and _strtoui64, respectively; 每個寬字元函式的結束的轉換引數的指標是一個寬字元字串。 否則,每個寬字元函式行為相同到單一 byte–character 其他對應的部分。

請參閱

參考

資料轉換

地區設定

多位元組字元序列的轉譯工作

浮點支援

atof、 _atof_l、 _wtof、 _wtof_l