Rechercher une page de manuel
wcrtomb
Langue: pl
Version: 1999-07-25 (openSuse - 09/10/07)
Section: 3 (Bibliothèques de fonctions)
NAZWA
wcrtomb - konwertuje szerokie znaki na sekwencje wielobajtoweSK£ADNIA
#include <wchar.h> size_t wcrtomb(char *s, wchar_t wc, mbstate_t *ps);
OPIS
Podstawowym zastosowaniem tej funkcji jest to, gdy s nie jest NULL i wc nie jest L'\0'. W tym przypadku, funkcja ta konwertuje szeroki znak wc na jego wielobajtow± reprezentacjê i zachowuje j± na pocz±tku tablicy znakowej, wskazywanej przez s. Aktualizuje stan przesuniêcia *ps i zwraca d³ugo¶æ reprezentacji wielobajtowej, tj. ilo¶æ bitów zapisanych do s.Innym przypadkiem jest sytuacja, gdy s równie¿ nie jest NULL, lecz wc jest L'\0'. W tym przypadku, funkcja ta zachowuje w s sekwencjê przesuniêcia, wymagan± do przeniesienia *ps z powrotem do stanu pocz±tkowego. Za sekwencj± doklejony bêdzie bajt '\0'. Aktualizuje stan przesuniêcia *ps (tj. przenosi go do stanu pocz±tkowego) i zwraca d³ugo¶æ sekwencji przesuniêcia plus jeden, tj. liczbê bajtów zapisanych do s.
Trzecim przypadkiem jest gdy s jest NULL. W tym przypadku, wc jest ignorowane, a funkcja zwraca wcrtomb(buf,L'\0',ps), gdzie buf jest wewnêtrznym anonimowym buforem.
We wszystkich powy¿szych przypadkach, je¶li ps jest wska¼nikiem NULL, w jego miejscu u¿ywany jest anonimowy stan, znany tylko funkcji wcrtomb.
WARTO¦Æ ZWRACANA
Funkcja wcrtomb zwraca liczbê bajtów, które zosta³y (lub zosta³yby) zapisane do tablicy bajtowej s. Je¶li wc nie mo¿e byæ reprezentowane w sekwencji wielobajtowej (wed³ug obecnych locale), zwracane jest (size_t)(-1) i errno jest ustawiane na EILSEQ.ZGODNE Z
ISO/ANSI C, UNIX98ZOBACZ TAK¯E
wcsrtombs(3)UWAGI
Zachowanie tej funkcji zale¿y od kategorii LC_CTYPE aktualnych ustawieñ locale.Podawanie NULL jako ps nie jest bezpieczne w trybie wielow±tkowym.
Contenus ©2006-2024 Benjamin Poulain
Design ©2006-2024 Maxime Vantorre