std::mbsinit
cppreference.com
<tbody>
</tbody>
int mbsinit( const std::mbstate_t* ps); |
||
ps , mbsinit , std::mbstate_t .
std::mbstate_t , std::mbstate_t, .
| ps | std::mbstate_t |
0, ps , .
#include <clocale>
#include <cwchar>
#include <iostream>
#include <string>
int main()
{
// mbrlen() UTF-8
std::setlocale(LC_ALL, "en_US.utf8");
// UTF-8
std::string str = ""; // u8"\u6c34" "\xe6\xb0\xb4"
std::mbstate_t mb = std::mbstate_t();
(void)std::mbrlen(&str[0], 1, &mb);
if (!std::mbsinit(&mb))
std::cout << " " << str
<< " \n";
(void)std::mbrlen(&str[1], str.size() - 1, &mb);
if (std::mbsinit(&mb))
std::cout << " 2 " << str
<< ", \n"
<< " \n";
}
:
2 ,
| , () | |
C mbsinit
| |