В XSH 2.9.1 , wctomb
указана как одна из функций, которая не обязана быть потокобезопасной. Однако противоположная функция преобразования, mbtowc
, не отображается в списке. В реализации с кодировками, использующими состояния сдвига, ни один из них не имеет поточно-ориентированного API, и нет смысла, что один должен быть потокобезопасным, а другой нет, в то время как ни один из них не может быть поточно-ориентированным без запрета кодирования с отслеживанием состояния.
То же самое для wcstombs
(который есть в списке) и mbstowcs
(которого нет). Поскольку обе эти функции работают с целыми строками, которые начинаются и заканчиваются в начальном состоянии сдвига, они не имеют состояния, их API-интерфейсы являются потокобезопасными, и снова нет смысла указывать одно направление как поточно-ориентированное, но не другое.
Кто-нибудь может пролить свет на это?