Warning: Undefined array key "HTTP_ACCEPT_LANGUAGE" in /var/www/vhosts/bilgigunlugum.net/httpdocs/index.php on line 43
C Programlama

BG MVC Model View Controller eğitim serisi yayında...

Ana sayfa > Programlama > C Programlama > C standart kütüphanesi > <inttypes.h> (C99) > wcstoumax

wcstoumax() fonksiyonu

Bildirim

uintmax_t wcstoumax(const wchar_t* nptr, wchar_t** endptr, int base); (C99)

Açıklama

İlk parametre olan nptr işaretçisine geçirilen geniş karakter dizisini yine üçüncü parametre olan base değerinde yer alan sayı tabanına uygun olarak sayıya çevirir ve intmax_t bir değer geri döndürür.

Aynı zamanda ilk parametrede gösterilen dizide yer alan son geçerli sayısal karakterden sonraki ilk karakterin adresini endptr ile gösterilen ikinci parametreye atar. Eğer endptr NULL bir değer taşıyorsa, böyle bir işlem yapılmaz.

uintmax_t veri türü stdint.h başlık dosyasında tanımlanmış olup 64 bit uzunluğundaki long long int veri türüne karşılık gelmektedir. Sayı aralığı 0 ile 18.446.744.073.709.551.615 değerleri arasında yer almaktadır.

Parametreler

nptr: Sayıya çevrilecek geniş karakter dizisini gösteren işaretçidir.

endptr: Bir geniş karakter adresini gösteren işaretçi işaretçisidir.

base: Çevrilecek sayı tabanının int değeridir.

Dönüş değeri

Eğer fonksiyon başarılı bir şekilde çalışırsa, çevrilen int değer geri döndürülür.

Eğer dönüştürülen değer karşılık gelen dönüş türünün değer aralığının dışına çıkarsa, bir hata oluşur ve bir hata mesajı geri döndürülür.

Eğer sayıya çevirme işlemi gerçekleşmezse, 0 değeri geri döndürülür.

Örnek


#include <stdio.h>
#include <inttypes.h>

int main(void) {
    wchar_t *cdizi = L"9452167";
    wchar_t *endptr;

    printf("Sayı değeri: %lld", wcstoumax(cdizi, &endptr, 10));

    return 0;
}

Yukarıdaki örnekte, program aşağıdaki satırı ekrana yazar:

Sayı değeri: 9452167

Yukarıdaki program, wcstoumax() fonksiyonu ile geniş bir karakter dizisini bir sayıya çevirerek ekrana yazar.