Funktionen c16rtomb () i C ++ konverterer 16 bit tegnrepræsentation til en smal multibyttegnrepræsentation.
Funktionen c16rtomb () er defineret i headerfilen.
c16rtomb () Prototype
størrelse_t c16rtomb (char * s, char16_t c16, mbstate_t * ps);
Funktionen c16rtomb () konverterer utf-16-tegnet c16 til dets multibyteækvivalent og gemmer det i det objekt, som s er peget på.
Hvis s repræsenterer en nul pointer, svarer opkaldet til c16rtomb (buf, u ' 0', ps) for nogle interne buffer buf.
Hvis c16 er det null-brede tegn, dvs. u ' 0', gemmes en null-byte.
c16rtomb () Parametre
- s: Markør til et tegnarray, hvor multibyttegnet skal lagres.
- c16: 16 bit tegnet, der skal konverteres.
- ps: En markør til et mbstate_t-objekt, der bruges til fortolkning af multibytstrengen.
c16rtomb () Returværdi
- Efter succes returnerer c16rtomb () -funktionen antallet af bytes, der er skrevet til det tegnarray, som s er peget på.
- Ved fejl returneres -1, og EILSEQ lagres i errno.
Eksempel: Hvordan fungerer c16rtomb ()?
#include #include using namespace std; int main() ( const char16_t str() = u"Hello World!"; char s(50); mbstate_t ps(); size_t length; int j = 0; while (str(j)) ( length = c16rtomb(s, str(j), &ps); if ((length == 0) || (length> 50)) break; for (int i=0; i
When you run the program, the output will be:
Hello World!