函式
<cwchar>

mbsinit

int mbsinit (const mbstate_t* ps);
檢查初始轉換狀態
檢查 ps 是否指向一個 mbstate_t 物件,該物件描述了初始轉換狀態。

值為零的 mbstate_t 物件始終描述一個初始轉換狀態,儘管其他值也可能表示這種狀態(取決於具體的庫實現)。如果 ps 指向表示初始狀態的 mbstate_t 物件,或者 ps 是空指標,則此函式返回非零值。

呼叫此函式絕不會改變 ps 指示的狀態。

可以透過呼叫以下函式將 ps 指示的狀態設定為初始狀態
1
memset (ps,0,sizeof(*ps));  // ps points now to a zero-valued object 

引數

ps
mbstate_t 物件的指標。

返回值

如果 ps 指向一個描述初始轉換狀態的 mbstate_t 物件,或者 ps 是空指標,則返回非零值。
否則,返回零值。

示例

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;
}

輸出
mbsinit example


另見