GSP
Quick Navigator

Search Site

Unix VPS
A - Starter
B - Basic
C - Preferred
D - Commercial
MPS - Dedicated
Previous VPSs
* Sign Up! *

Support
Contact Us
Online Help
Handbooks
Domain Status
Man Pages

FAQ
Virtual Servers
Pricing
Billing
Technical

Network
Facilities
Connectivity
Topology Map

Miscellaneous
Server Agreement
Year 2038
Credits
 

USA Flag

 

 

Man Pages
std::mbsinit(3) C++ Standard Libary std::mbsinit(3)

std::mbsinit - std::mbsinit


Defined in header <cwchar>
int mbsinit( const std::mbstate_t* ps);


If ps is not a null pointer, the mbsinit function determines whether the pointed-to
std::mbstate_t object describes the initial conversion state.


Although a zero-initialized std::mbstate_t always represents the initial conversion
state, there may be other values of std::mbstate_t that also represent the initial
conversion state.


ps - pointer to the std::mbstate_t object to examine


0 if ps is not a null pointer and does not represent the initial conversion
state, nonzero value otherwise.

// Run this code


#include <clocale>
#include <string>
#include <iostream>
#include <cwchar>


int main()
{
// allow mbrlen() to work with UTF-8 multibyte encoding
std::setlocale(LC_ALL, "en_US.utf8");
// UTF-8 narrow multibyte encoding
std::string str = "水"; // or u8"\u6c34" or "\xe6\xb0\xb4"
std::mbstate_t mb = std::mbstate_t();
(void)std::mbrlen(&str[0], 1, &mb);
if (!std::mbsinit(&mb)) {
std::cout << "After processing the first 1 byte of " << str
<< " the conversion state is not initial\n";
}


(void)std::mbrlen(&str[1], str.size()-1, &mb);
if (std::mbsinit(&mb)) {
std::cout << "After processing the remaining 2 bytes of " << str
<< ", the conversion state is initial conversion state\n";
}
}


After processing the first 1 byte of 水 the conversion state is not initial
After processing the remaining 2 bytes of 水, the conversion state is initial conversion state


conversion state information necessary to iterate multibyte character
mbstate_t strings
(class)

2022.07.31 http://cppreference.com

Search for    or go to Top of page |  Section 3 |  Main Index

Powered by GSP Visit the GSP FreeBSD Man Page Interface.
Output converted with ManDoc.