Sayısal Değer İşlevleri Dizesi
Notlar
Her işlev strtod ailesi için sayısal bir değer null sonlandırılmış bir dize dönüştürür.Kullanılabilir işlevler aşağıdaki tabloda listelenmiştir.
Function |
Tanımlama |
---|---|
strtod |
Çift duyarlıklı kayan nokta değeri dize dönüştürme |
strtol |
Uzun tamsayı dize dönüştürme |
strtoul |
İşaretsiz uzun tamsayı dize dönüştürme |
_strtoi64 |
Dize dönüştürme 64-bit için __int64 tamsayı |
_strtoui64 |
Dönüştürme dizesine işaretsiz 64-bit __int64 tamsayı |
wcstod, wcstol, wcstoul, and _wcstoi64 are wide-character versions of strtod, strtol, strtoul, and _strtoi64, respectively.Dize bağımsız değişkeni bu geniş karakter işlevlerden her biri bir geniş karakter dizesidir; Her işlevi aynı bayt – tek bir karakteri karşılığı aksi şekilde davranır.
strtod İşlevi iki bağımsız değişken alır: ilk giriş dizesi ise ve ikinci karakter işaretçi sona erdiği dönüştürme işlemi.strtol, strtoul, _strtoi64 ve _strtoui64 üçüncü bağımsız değişken olarak dönüştürme işleminde kullanılacak temel alın.
Giriş dizesi belirtilen türde bir sayısal değer olarak yorumlanabilecek bir karakter dizisidir.Her işlev, dize bir numarasının bir parçası tanıyamaz ilk karakterinde okumayı durdurur.Bu sondaki boş karakter olabilir.İçin strtol, strtoul, _strtoi64, ve _strtoui64, bu sonlandırma karakterinin ilk sayısal karakter sayısından büyük veya eşit olacak biçimde kullanıcı tarafından sağlanan temel da olabilir.
Kullanıcı tarafından sağlanan işaretçiyi dönüştürme son karakter ayarlanmamışsa boş çağrı anda tarama durdu karakter için bir işaretçi var. Bunun yerine saklanır.Dönüştürme işlemi ise (geçerli bir basamak bulunamadı veya geçersiz bir temel belirtildi), o adreste dize işaretçisi değeri depolanır.
strtodaşağıdaki biçimde bir dize bekliyor:
boşluk] sign] digits] **.**digits [ {d | D | e | E}signdigits
A boşluk , göz ardı edilir; boşluk veya sekme karakteri, oluşabilir sign is either plus (+) or minus (–); ve digits bir veya daha fazla ondalık basamak olur.Taban karakterden önce bir basamak görüntülenmezse, taban karakterden sonra en az bir basamak görüntülenmelidir.Ondalık basamak bir tanıtım harfini oluşan bir üssü izlenebilir (d, D, e, veya E) ve isteğe bağlı olarak imzalı tamsayı.Üstel bir parça veya bir taban karakter görüntülenmezse, taban karakterin dizedeki son basamağı izlediği varsayılır.Bu forma uymayan ilk karakter taramayı durdurur.
strtol, strtoul, _strtoi64, Ve _strtoui64 aşağıdaki biçimde bir dize işlevlerinin beklediğiniz:
boşluk[{+ | –}]0 { x | X}]] digits
Temel bağımsız değişken 2 ile 36 arasında ise, sayı tabanı olarak kullanılır.0 ise, ilk karakter için dönüştürme son işaretçinin gösterdiği Bankası belirlemek için kullanılır.İlk karakteri 0, ikinci karakter 'x' veya 'X' değil, dize bir sekizlik tamsayı olarak yorumlanır; Aksi halde, ondalık sayı olarak yorumlanır.İlk karakter '0', ikinci karakter 'x' veya 'X' ise, dize onaltılık bir tamsayı olarak yorumlanır.İlk karakter '1'-'9' arasında bir sayı ise, dize ondalık bir tamsayı olarak yorumlanır.Harfler 'bir'-'z' (veya 'A'-'Z') 10-35 değerler atanır; yalnızca atanan değerleri olan harfler küçüktür temel izin verilir.strtoulve _strtoui64 artı izin ver (+) veya eksi (–) işareti öneki; dönüş değeri değilleme uygulanmış önüne bir eksi işareti gösterir.
Çıkış değeri, yerel ayarın LC_NUMERIC kategori ayarından etkilenir; daha fazla bilgi için, bkz. setlocale.Bu işlevlerin, _l sonekine sahip olmayan sürümleri, yerel ayara bağlı davranışı için, geçerli yerel ayarı kullanır; _l sonekine sahip sürümler, bunun yerine iletilmiş yerel ayar parametresini kullanması hariç aynıdır.
Ne zaman bu işlevleri tarafından döndürülen değer bir taşma veya yetersiz gelme neden veya dönüşümü mümkün olmadığında, özel durum değerlerinin gösterildiği gibi döndürülür:
Function |
Koşul |
Döndürülen değer |
---|---|---|
strtod |
Aşım |
+/- HUGE_VAL |
strtod |
Yetersizlik durumu veya dönüştürme |
0 |
strtol |
+ Taşma |
LONG_MAX |
strtol |
-Taşma |
LONG_MIN |
strtol |
Yetersizlik durumu veya dönüştürme |
0 |
_strtoi64 |
+ Taşma |
_I64_MAX |
_strtoi64 |
-Taşma |
_I64_MIN |
_strtoi64 |
Dönüştürme |
0 |
_strtoui64 |
Aşım |
_UI64_MAX |
_strtoui64 |
Dönüştürme |
0 |
_I64_MAX, _I64_MIN, ve _UI64_MAX SINIRLARI içinde tanımlanır.H.
wcstod, wcstol, wcstoul, _wcstoi64, and _wcstoui64 are wide-character versions of strtod, strtol, strtoul, _strtoi64, and _strtoui64, respectively; İşaretçiyi dönüştürme son bağımsız değişken geniş karakter Bu işlevlerden her biri için bir geniş karakter dizesidir.Aksi takdirde, tek bayt – karakterlik karşılığı geniş karakter Bu işlevlerden her biri aynı şekilde davranır.