C++ Locale 库 - encoding
描述
如果这是一个固定值,它会根据外部字符返回内部字符的宽度。 否则,如果这是一个变量值,则函数返回 0。
声明
以下是 std::ctype::encoding 的声明。
C++98
int encoding() const throw();
C++11
int encoding() const throw();
参数
none
返回值
如果这是一个固定值,它会根据外部字符返回内部字符的宽度。
异常
No-throw guarantee − 从不抛出异常。
数据竞争
facet 对象被访问。
示例
在下面的例子中解释了 std::ctype::encoding。
#include <iostream>
#include <locale>
int main () {
std::locale loc;
const std::codecvt<wchar_t,char,mbstate_t>& myfacet =
std::use_facet<std::codecvt<wchar_t,char,mbstate_t> >(loc);
std::cout << "Characteristics of codecvt<wchar_t,char,mbstate_t>:\n";
std::cout << "Encoding: " << myfacet.encoding() << '\n';
std::cout << "Always noconv: " << myfacet.always_noconv() << '\n';
std::cout << "Max length: " << myfacet.max_length() << '\n';
return 0;
}
让我们编译并运行上面的程序,这将产生以下结果 −
Characteristics of codecvt<wchar_t,char,mbstate_t>: Encoding: 1 Always noconv: 0 Max length: 1

