日本-日本語
日本HPホーム 製品 & サービス OpenVMS製品情報
≫  お問い合わせ


OpenVMS マニュアル


 

OpenVMS ドキュメント
ライブラリ

タイトル
目次
まえがき
リファレンス・セクション
   ≫ライブラリ関数一覧
索引
PDF
OpenVMS ホーム

HP OpenVMS
HP C ランタイム・ライブラリ・リファレンス・マニュアル (下巻)


目次 索引




マルチバイト文字のシーケンスを,対応するワイド文字コードのシーケンスに変換します。

形式

#include <wchar.h>

size_t mbsrtowcs (wchar_t *dst, const char **src, size_t len, mbstate_t *ps);

関数バリアント mbsrtowcs関数は,それぞれ 32 ビットと 64 ビットのポインタ・サイズで使用するための _mbsrtowcs32_mbsrtowcs64という名前のバリアントを持っています。ポインタ・サイズ固有の関数の使用方法については,『HP C ランタイム・ライブラリ・リファレンス・マニュアル(上巻)』第 1.9 節を参照してください。

引数



dst

結果として得られるワイド文字コードのシーケンスが格納されるデスティネーション配列へのポインタ。

src

変換するマルチバイト文字のシーケンスを含んだ配列へのポインタのアドレス。

len

dst がポイントする配列に格納できるワイド文字コードの数の最大値。

ps

mbstate_tオブジェクトへのポインタ。 NULL ポインタが指定された場合,関数は内部の mbstate_tオブジェクトを使用します。 mbstate_tは,状態依存のコードセットのための変換状態を保持する目的に使われる不透明のデータ型です。

説明

mbsrtowcs関数は, ps がポイントするオブジェクトが記述している変換状態から開始して, src が間接的にポイントしている配列に含まれているマルチバイト文字のシーケンスを,対応するワイド文字のシーケンスに変換します。

dst が NULL ポインタでなければ,変換後の文字は dst がポイントする配列に格納されます。変換は末尾の null 文字まで行われ,この null 文字も格納されます。

以下のいずれかの理由が生じた場合,変換は途中で停止します。

  • 有効なマルチバイト文字を構成しないバイトのシーケンスを検出した。

  • dst が NULL ポインタでない場合, dst がポイントする配列に len 個のコードが格納された。

dst が NULL ポインタでない場合, src がポイントするポインタ・オブジェクトには, NULL ポインタが代入されるか ( 末尾の null ワイド文字に達したために変換が停止した場合 ),または最後に変換されたマルチバイト文字 ( 存在する場合 ) の直後のアドレスが代入されます。末尾の null ワイド文字に達したために変換が停止した場合,結果として得られる状態は初期変換状態です。


戻り値

n 変換に成功したマルチバイト文字の数。末尾の null は ( 存在する場合でも ) 含みません。
-1    エラーを示します。有効なマルチバイト文字を構成しないバイトのシーケンスが現れました。 errno は EILSEQ に設定されます。変換状態は未定義です。


目次 索引

© 2012 Hewlett-Packard Development Company, L.P.