9.28. wchar.h
: Genişletilmiş Çoklu Ve Geniş Karakter Kolaylıkları
Bu dosyada wchar_t
, size_t
ve
struct tm
dışında, aşağıdaki iki tip tanımlanmaktadır:
mbstate_t | çokbaytlı karakter dizileri ile geniş karakter dizileri arasında dönüştürme yapmak için gerekli dönüştürme durumunu tutabilen (ve dizi olmayan) bir nesne tipi |
wint_t | genişletilmiş karakter kümesinin üyelerine karşılık gelen
(wchar_t tipindeki) herhangi bir değeri
ve genişletilmiş karakter kümesinin herhangi bir üyesine karşılık gelmeyen
en az bir değeri (aşağıda WEOF ’e bakınız) tutabilen ve
atamalarda değerini yitirmeyen bir tamsayı tipi |
Bu dosyada, NULL
, WCHAR_MIN
ve
WCHAR_MAX
makroları dışında, wint_t
tipinde
değişmez bir ifade olan WEOF
makrosu tanımlanmaktadır.
Bu makro dosya sonunu işaretlemek için bazı fonksiyonlar tarafından
kabul edilmekte veya geri döndürülmektedir. Ayrıca, bazı durumlarda,
genişletilmiş karakter kümesinin herhangi bir üyesine denk gelmeyen
bir geniş karakter değeri olarak da kullanılmaktadır.
Bu dosyada tanımlanan fonksiyonlar ise aşağıda beş gruba ayrılmıştır.
Biçimlendirilmiş Geniş Karakter Girdi Ve Çıktı Fonksiyonları
int fwprintf(FILE * restrict d, const wchar_t * restrict bicim, ...) int fwscanf(FILE * restrict d, const wchar_t * restrict bicim, ...) int swprintf(wchar_t * restrict kd, size_t s, const wchar_t * restrict bicim, ...) int swscanf(const wchar_t * restrict kd, const wchar_t * restrict bicim, ...) int vfwprintf(FILE * restrict d, const wchar_t * restrict bicim, va_list arg) int vfwscanf(FILE * restrict d, const wchar_t * restrict bicim, va_list arg) int vswprintf(wchar_t * restrict kd, size_t s, const wchar_t * restrict bicim, va_list arg) int vswscanf(const wchar_t * restrict kd, const wchar_t * restrict bicim, va_list arg) int vwprintf(const wchar_t * restrict bicim, va_list arg) int vwscanf(const wchar_t * restrict bicim, va_list arg) int wprintf(const wchar_t * restrict bicim, ...) int wscanf(const wchar_t * restrict bicim, ...)
Diğer Geniş Karakter Girdi Ve Çıktı Fonksiyonları
wint_t fgetwc(FILE * d) wchar_t * fgetws(wchar_t * restrict kd, int b, FILE * restrict d) wint_t fputwc(wchar_t k, FILE * d) int fputws(const wchar_t * restrict kd, FILE * restrict d) int fwide(FILE * d, int mod) wint_t getwc(FILE * d) wint_t getwchar(void) wint_t putwc(wchar_t k, FILE * d) wint_t putwchar(wchar_t k) wint_t ungetwc(wint_t k, FILE * d)
Genel Geniş Karakter Dizisi Kolaylıkları
Geniş karakter dizisi sayısal dönüşüm fonksiyonları:
double wcstod(const wchar_t * restrict sg, wchar_t ** restrict song) float wcstof(const wchar_t * restrict sg, wchar_t ** restrict song) long double wcstold(const wchar_t * restrict sg, wchar_t ** restrict song) long int wcstol(const wchar_t * restrict sg, wchar_t ** restrict song, int taban) long long int wcstoll(const wchar_t * restrict sg, wchar_t ** restrict song, int taban) unsigned long int wcstoul(const wchar_t * restrict sg, wchar_t ** restrict song, int taban) unsigned long long int wcstoull(const wchar_t * restrict sg, wchar_t ** restrict song, int taban)
Geniş karakter dizisi kopyalama fonksiyonları:
wchar_t * wcscpy(wchar_t * restrict kd1, const wchar_t * restrict kd2) wchar_t * wcsncpy(wchar_t * restrict kd1, const wchar_t * restrict kd2, size_t s) wchar_t * wmemcpy(wchar_t * restrict kd1, const wchar_t * restrict kd2, size_t s) wchar_t * wmemmove(wchar_t * kd1, const wchar_t * kd2, size_t s)
Geniş karakter dizisi birleştirme fonksiyonları:
wchar_t * wcscat(wchar_t * restrict kd1, const wchar_t * restrict kd2) wchar_t * wcsncat(wchar_t * restrict kd1, const wchar_t * restrict kd2, size_t s)
Geniş karakter dizisi karşılaştırma fonksiyonları:
int wcscmp(const wchar_t * kd1, const wchar_t * kd2) int wcscoll(const wchar_t * kd1, const wchar_t * kd2) int wcsncmp(const wchar_t * kd1, const wchar_t * kd2, size_t s) size_t wcsxfrm(wchar_t * restrict kd1, const wchar_t * restrict kd2, size_t s) int wmemcmp(const wchar_t * kd1, const wchar_t * kd2, size_t s)
Geniş karakter dizisi arama fonksiyonları:
wchar_t * wcschr(const wchar_t * kd, wchar_t k) size_t wcscspn(const wchar_t * kd1, const wchar_t * kd2) wchar_t * wcspbrk(const wchar_t * kd1, const wchar_t * kd2) wchar_t * wcsrchr(const wchar_t * kd, wchar_t k) size_t wcsspn(const wchar_t * kd1, const wchar_t * kd2) wchar_t * wcsstr(const wchar_t * kd1, const wchar_t * kd2) wchar_t * wcstok(wchar_t * restrict kd1, const wchar_t * restrict kd2, wchar_t ** restrict g) wchar_t * wmemchr(const wchar_t * kd, wchar_t k, size_t s)
Çeşitli fonksiyonlar:
size_t wcslen(const wchar_t * kd) wchar_t * wmemset(wchar_t * kd, wchar_t k, size_t s)
Geniş Karakter Zaman Dönüşüm Fonksiyonu
size_t wcsftime(wchar_t * restrict kd, size_t maksboy, const wchar_t * restrict b, const struct tm * restrict zg)
Genişletilmiş Çokbaytlı/Geniş Karakter Dönüşüm Kolaylıkları
Tek bayt/geniş karakter dönüşüm fonksiyonları:
wint_t btowc(int k) int wctob(wint_t k)
Dönüşüm durum fonksiyonu:
int mbsinit(const mbstate_t * dg)
Yeniden başlatılabilir çokbaytlı/geniş karakter dönüşüm fonksiyonları:
size_t mbrlen(const char * restrict kd, size_t s, mbstate_t * restrict dg) size_t mbrtowc(wchar_t * restrict gkg, const char * restrict kd, size_t s, mbstate_t * restrict dg) size_t wcrtomb(char * restrict kd, wchar_t gk, mbstate_t * restrict dg)
Yeniden başlatılabilir çokbaytlı/geniş karakter dizisi dönüşüm fonksiyonları:
size_t mbsrtowcs(wchar_t * restrict hedef, const char ** restrict kaynak, size_t uznlk, mbstate_t * restrict dg) size_t wcsrtombs(char * restrict hedef, const wchar_t ** restrict kaynak, size_t uznlk, mbstate_t * restrict dg)