C ++ 'daki c16rtomb () işlevi, 16 bitlik karakter gösterimini dar çok baytlı karakter gösterimine dönüştürür.
C16rtomb () işlevi başlık dosyasında tanımlanmıştır.
c16rtomb () Prototip
size_t c16rtomb (char * s, char16_t c16, mbstate_t * ps);
C16rtomb () işlevi, utf-16 c16 karakterini çok baytlı eşdeğerine dönüştürür ve s ile gösterilen nesnede depolar.
S bir boş göstericiyi temsil ediyorsa, çağrı bazı dahili tampon tamponları için c16rtomb (buf, u ' 0', ps) 'ye eşdeğerdir.
C16 boş geniş karakter ise, yani u ' 0', boş bir bayt saklanır.
c16rtomb () Parametreleri
- s: Çok baytlı karakterin depolanacağı bir karakter dizisine işaretçi.
- c16: Dönüştürülecek 16 bitlik karakter.
- ps: Çok baytlı dizeyi yorumlarken kullanılan bir mbstate_t nesnesine işaretçi.
c16rtomb () Dönüş değeri
- Başarı durumunda c16rtomb () işlevi, s ile gösterilen karakter dizisine yazılan bayt sayısını döndürür.
- Başarısızlık durumunda, -1 döndürülür ve EILSEQ hata no'da saklanır.
Örnek: c16rtomb () işlevi nasıl çalışır?
#include #include using namespace std; int main() ( const char16_t str() = u"Hello World!"; char s(50); mbstate_t ps(); size_t length; int j = 0; while (str(j)) ( length = c16rtomb(s, str(j), &ps); if ((length == 0) || (length> 50)) break; for (int i=0; i
When you run the program, the output will be:
Hello World!