本文整理汇总了C++中_tstring::rfind方法的典型用法代码示例。如果您正苦于以下问题:C++ _tstring::rfind方法的具体用法?C++ _tstring::rfind怎么用?C++ _tstring::rfind使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类_tstring
的用法示例。
在下文中一共展示了_tstring::rfind方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: dump
/*
In python:
>>> '海阔天空'.encode('utf-16')
b'\xff\xfewm\x14\x96)Yzz'
>>> '海阔天空'.encode('utf-16-le')
b'wm\x14\x96)Yzz'
>>> '海阔天空'.encode('utf-16-be')
b'mw\x96\x14Y)zz'
>>> chr(0x7a)
'z'
>>> chr(0x59)
'Y'
Output of this program: (Unicode mode)
GB2312: 海阔天空
77 6d 14 96 29 59 7a 7a
UTF-8 without BOM: 娴烽様澶╃┖
34 5a fd 70 d8 69 b6 6f 43 25 16 25
UTF-8 with BOM: 海阔天空
77 6d 14 96 29 59 7a 7a
UTF-16 BE: 海阔天空
77 6d 14 96 29 59 7a 7a
UTF-16 LE: 海阔天空
77 6d 14 96 29 59 7a 7a
So, windows uses UTF-16-LE to represent a string in UNICODE mode.
In non-unicode mode, cp936 is used.
*/
void dump(const _tstring &str)
{
std::size_t wpos = str.rfind(_T(' '));
if (_tstring::npos == wpos)
{
return;
}
const byte *beg = reinterpret_cast<const byte *>(str.c_str() + wpos + 1);
const byte *end = reinterpret_cast<const byte *>(str.c_str() + str.size());
#if 0
_tcout << std::hex;
std::ostream_iterator<byte, _TCHAR> oit(_tcout, _T(" ")); // Caution
std::copy(beg, end, oit);
_tcout << std::dec << std::endl;
#else
_tcout << std::setfill(_T('0')) << std::hex;
for (const byte *p = beg; p != end; ++p)
{
if (*p <= 0x7f && std::isprint(static_cast<char>(*p)))
{
_tcout << static_cast<char>(*p);
}
else
{
// In non-unicode mode, if we want to print the value of '*p'
// in hexadecimal format, we have to cast it into an integer.
_tcout << _T("\\x") << std::setw(2) << static_cast<int>(*p);
}
}
_tcout << std::setfill(_T(' ')) << std::dec << std::endl;
#endif
}