Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
std::towctrans(3)	      C++ Standard Libary	     std::towctrans(3)

NAME
       std::towctrans -	std::towctrans

Synopsis
	  Defined in header <cwctype>
	  std::wint_t towctrans( std::wint_t wc, std::wctrans_t	desc );

	  Maps	the  wide  character  wc using the current C locale's LC_CTYPE
       mapping category
	  identified by	desc.

	  If the value of ch is	neither	representable as a wchar_t  nor	 equal
       to the value of
	  the macro WEOF, the behavior is undefined.

Parameters
	  ch   - the wide character to map
	  desc - the LC_CTYPE mapping, obtained	from a call to std::wctrans

Return value
	  The  mapped  value  of  ch  using  the mapping identified by desc in
       LC_CTYPE	facet of the
	  current C locale.

Example
	  The following	example	demonstrates katakana  to  hiragana  character
       mapping

       // Run this code

	#include <clocale>
	#include <cwctype>
	#include <iostream>
	#include <algorithm>

	std::wstring tohira(std::wstring str)
	{
	    std::transform(str.begin(),	 str.end(), str.begin(), [](wchar_t c)
       {
		 return	std::towctrans(c, std::wctrans("tojhira"));
	    });
	    return str;
	}

	int main()
	{
	    std::setlocale(LC_ALL, "ja_JP.UTF-8");
	    std::wstring kana =	L"";
	    std::wcout << "katakana characters " << kana
		       << " are	" << tohira(kana) << " in hiragana\n";
	}

Output:
	katakana characters  are  in hiragana

See also
	  wctrans looks	up a character mapping category	in the current	C  lo-
       cale
		  (function)

http://cppreference.com		  2022.07.31		     std::towctrans(3)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=std::towctrans&sektion=3&manpath=FreeBSD+Ports+15.0>

home | help