std::btowc
Материал из cppreference.com
<tbody>
</tbody>
| Определено в заголовочном файле <cwchar>
|
||
std::wint_t btowc( int c ); |
||
Расширяет однобайтовый символ c до эквивалентного широкого символа.
Большинство кодировок многобайтовых символов используют однобайтовые коды для представления символов из набора символов ASCII. Эту функцию можно использовать для преобразования таких символов в wchar_t.
Параметры
| c | — | однобайтовый символ для расширения |
Возвращаемое значение
WEOF, если c равно EOF.
Представление расширенного символа c, если (unsigned char)c является допустимым однобайтовым символом в исходном состоянии сдвига, WEOF иначе.
Пример
Запустить этот код
#include <clocale>
#include <cwchar>
#include <iostream>
void try_widen(char c)
{
std::wint_t w = std::btowc(c);
if (w != WEOF)
std::cout << "Однобайтовый символ " << +(unsigned char)c
<< " расширяется до " << +w << '\n';
else
std::cout << "Однобайтовый символ " << +(unsigned char)c
<< " не удалось расширить\n";
}
int main()
{
std::setlocale(LC_ALL, "lt_LT.iso88594");
std::cout << std::hex << std::showbase << "В литовской локали ISO-8859-4:\n";
try_widen('A');
try_widen('\xdf'); // Немецкая буква ß (U+00df) в ISO-8859-4
try_widen('\xf9'); // Литовская буква ų (U+0173) в ISO-8859-4
std::setlocale(LC_ALL, "lt_LT.utf8");
std::cout << "В литовской локали UTF-8:\n";
try_widen('A');
try_widen('\xdf');
try_widen('\xf9');
}
Возможный вывод:
В литовской локали ISO-8859-4:
Однобайтовый символ 0x41 расширяется до 0x41
Однобайтовый символ 0xdf расширяется до 0xdf
Однобайтовый символ 0xf9 расширяется до 0x173
В литовской локали UTF-8:
Однобайтовый символ 0x41 расширяется до 0x41
Однобайтовый символ 0xdf не удалось расширить
Однобайтовый символ 0xf9 не удалось расширить
Смотрите также
| сужает широкий символ до однобайтового узкого символа, если это возможно (функция) | |
[virtual] |
преобразует символ или символы из char в charT Оригинал: converts a character or characters from char to charT Текст был переведён автоматически используя Переводчик Google. Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда. (virtual protected std::ctype функция-элемент)
|
Документация C по btowc
| |