_atoi64, _atoi64_l, _wtoi64, _wtoi64_l
Bir 64-bit bir tamsayı dönüştürür.
__int64 _atoi64(
const char *str
);
__int64 _wtoi64(
const wchar_t *str
);
__int64 _atoi64_l(
const char *str,
_locale_t locale
);
__int64 _wtoi64_l(
const wchar_t *str,
_locale_t locale
);
Parametreler
str
Dönüştürülecek dize.locale
Kullanılacak yerel ayarı.
Dönüş Değeri
Her işlev verir __int64 giriş karakterleri sayı olarak yorumlama tarafından üretilir.Dönüş değeri 0 olan _atoi64 , giriş türü bir değere dönüştürülemez.
Büyük pozitif tam sayı değerleri içeren taşma durumunda, _atoi64 döndüren I64_MAX ve I64_MIN negatif büyük tam sayı değerleri içeren taşma olması halinde.
Tüm aralık dışı durumlarda, errno ayarlamak ERANGE.Geçirilen parametre ise NULL, geçersiz parametre işleyicisi, açıklandığı şekilde çağrılır Parametre Doğrulama.Yürütülmesine devam etmek için izin verilmişse, bu işlevler kümesi errno için EINVAL ve 0 döndürür.
Notlar
Bu işlevler bir karakter dizesi bir 64-bit tamsayı değerine dönüştürür.
Giriş dizesi, belirtilen türde bir sayısal değer yorumlanan karakter dizisidir.Giriş dizesi bir parçası olarak tanıyamaz ilk karakterinde okuma işlevini durdurur.Bu karakter null karakteri ('\0' veya '\0' l) olabilir dize sona eriyor.
str Bağımsız değişkeni _atoi64 aşağıdaki biçime sahiptir:
[whitespace] [sign] [digits]]
A whitespace göz ardı edilir; boşluk veya sekme karakterleri oluşur signya artı (+) veya eksi (-); ve digits bir veya daha fazla rakamlarıdır.
_wtoi64aynıdır _atoi64 dışında geniş karakter dizesi parametresi olarak alır.
Bu işlevler ile sürümlerini _l soneki yerine yerel geçirilen yerel parametresi kullandıkları dışında aynı.Daha fazla bilgi için bkz. Yerel Ayar.
Genel metin yordamı eşlemeleri
Tchar.h yordamına girildi |
_UNICODE ve _mbcs tanımlı değil |
Tanımlanan _mbcs |
Tanımlanan _UNICODE |
---|---|---|---|
_tstoi64 |
_atoi64 |
_atoi64 |
_wtoi64 |
_ttoi64 |
_atoi64 |
_atoi64 |
_wtoi64 |
Gereksinimler
Yordamları |
Gerekli başlık |
---|---|
_atoi64, _atoi64_l |
<stdlib.h> |
_wtoi64, _wtoi64_l |
<stdlib.h> veya <wchar.h> |
Örnek
Bu program, dize olarak saklanmış sayılar sayısal değerlerini kullanarak nasıl dönüştürülebilir gösterir _atoi64 fonksiyonlar.
// crt_atoi64.c
// This program shows how numbers stored as
// strings can be converted to numeric values
// using the _atoi64 functions.
#include <stdlib.h>
#include <stdio.h>
#include <errno.h>
int main( void )
{
char *str = NULL;
__int64 value = 0;
// An example of the _atoi64 function
// with leading and trailing white spaces.
str = " -2309 ";
value = _atoi64( str );
printf( "Function: _atoi64( \"%s\" ) = %d\n", str, value );
// Another example of the _atoi64 function
// with an arbitrary decimal point.
str = "314127.64";
value = _atoi64( str );
printf( "Function: _atoi64( \"%s\" ) = %d\n", str, value );
// Another example of the _atoi64 function
// with an overflow condition occurring.
str = "3336402735171707160320";
value = _atoi64( str );
printf( "Function: _atoi64( \"%s\" ) = %d\n", str, value );
if (errno == ERANGE)
{
printf("Overflow condition occurred.\n");
}
}