Reference

function
<cwchar>

mbsinit

int mbsinit (const mbstate_t* ps);
Check if initial conversion state
Checks whether ps points to a mbstate_t object that describes an initial conversion state.

A zero-valued mbstate_t object always describes an initial conversion state, although other values may also represent such state (depending on the particular library implementation). This function returns non-zero for any mbstate_t object representing an initial state, or if ps is a null pointer.

Calling this function never changes the state identified by ps.

The state pointed by ps can be set to the initial state by calling:
1
memset (ps,0,sizeof(*ps)); // ps points now to a zero-valued object 

Parameters

ps
Pointer to an mbstate_t object.

Return Value

A non-zero value if ps points to a mbstate_t object that describes an initial conversion state, or if ps is a null pointer.
Otherwise, a zero value is returned.

Example

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
/* mbsinit example */
#include <wchar.h>
#include <string.h>
#include <stdio.h>
int main()
{
 char buffer[80];
 mbstate_t mbst;
 const wchar_t wcs [] = L"mbsinit example";
 const wchar_t * p;
 p = wcs;
 if ( !mbsinit(&mbst) )
 memset (&mbst,0,sizeof(mbst)); /* set to initial state */
 wcsrtombs ( buffer, &p, 80, &mbst);
 printf (buffer);
 return 0;
}

Output:
mbsinit example


See also

wcrtomb
Convert wide character to multibyte sequence (function)
mbrtowc
Convert multibyte sequence to wide character (function)
wcsrtombs
Convert wide-character string to multibyte string (function)
mbsrtowcs
Convert multibyte string to wide-character string (function)

AltStyle によって変換されたページ (->オリジナル) /