wctomb ("wide character to multibyte" kısaltması) işlevi wchar geniş karakter kodunu karşılığı olan çokbaytlı karaktere dönüştürür ve sonucu bayt cinsinden dizge içinde saklar. En çok MB_CUR_MAX karakter saklanır.
wctomb işlevi boş olmayan dizge ile çağrılırsa wchar için üç olasılığı ayrımsar: Geçerli bir geniş karakter kodu, geçersiz bir kod ve L'\0'.
Geçerli bir kod verilmişse, wctomb bunu çokbaytlı karaktere dönüştürüp sonucu dizge içinde saklar ve karakterdeki bayt sayısı ile döner (daima en az 1'dir ve MB_CUR_MAX'dan büyük değildir).
wchar geçersiz bir geniş karakter kodu ise wctomb -1 ile döner. L'\0' ise 0 ile döner, ayrıca *dizge içinde '\0' saklar.
Çokbaytlı karakter kodu ötelenmiş karakterler içeriyorsa
wctomb bunu düzeltir ve bir öteleme durumuna günceller. Ayrıca kullanılan çokbaytlı karakter kodu bir öteleme durumuna sahipse sıfırdan farklı bir değerle döner. Bkz.
Öteleme Durumu.
Bu işlev wchar argümanı ile sıfır aktarılarak çağrılması dizge'in boş olmaması halinde hem saklanmış öteleme durumunun yeniden ilklendirilmesi hem de '\0' çokbaytlı karakterinin saklanması ve işlevin 0 ile dönmesi ile ilgili bir yan etkiye sahiptir.