RUNE

Section: C Library Functions (3)
索引 jman

BSD mandoc
 

索引

名称

setrunelocale setinvalidrune sgetrune sputrune fgetrune fungetrune fputrune - C 用ルーンサポート  

索引

ライブラリ

Lb libc  

索引

書式

In rune.h In errno.h Ft int Fn setrunelocale char *locale Ft void Fn setinvalidrune rune_t rune Ft rune_t Fn sgetrune const char *string size_t n char const **result Ft int Fn sputrune rune_t rune char *string size_t n char **result

In stdio.h Ft long Fn fgetrune FILE *stream Ft int Fn fungetrune rune_t rune FILE *stream Ft int Fn fputrune rune_t rune FILE *stream  

索引

解説

Fn setrunelocale は、マルチバイトストリングとしてルーンを表現するための エンコードのタイプ、および Aq Pa ctype.h で定義されたルーンのプロパティを制御します。 Fa locale 引数は、ロードするロケールを指定します。 ロケールが正常にロードされると 0 が戻され、ロードで問題が生じるとエラータイプを表す errno 値が戻されます。

Fn setinvalidrune 関数は、グローバル値 _INVALID_RUNE の値を Fa rune に設定します。

Fn sgetrune 関数は、長さが最大 Fa n バイトの 1 つのマルチバイトキャラクタを Fa string から読み込もうとします。 Fn sgetrune で問題が発生しなかった場合はルーンが戻されます。 Fa result が NULL ではない場合、 Fa *result は、 Fa string で変換されなかった最初のバイトを指します。 Fa string の最初の Fa n バイトが完全なマルチバイトキャラクタを表さない場合は _INVALID_RUNE が戻され、 Fa *result は Fa string を指します。 Fa string の最初でエンコードのエラーが発生した場合は _INVALID_RUNE が戻され、 Fa *result は Fa string の第 2 キャラクタを指します。

Fn sputrune 関数は、マルチバイトストリングとして Fa rune をエンコードし、 Fa string に保存しようとします。しかし Fa n バイトまでしか保存されません。 Fa result が NULL ではない場合、 Fa *result は、新しいマルチバイトキャラクタに続くストリングの 最初のバイトを指すように設定されます。 Fa string が NULL である場合、 Fa *result は (char *)0 + Fa x を指します。 Fa x は、マルチバイト値の保存に必要なバイト数です。 マルチバイトキャラクタが Fa n より長いバイトから構成され、 Fa result が NULL ではない場合、 Fa *result は NULL に設定されます。 どのような場合でも、 Fn sputrune は、マルチバイトキャラクタとして Fa rune を保存するために必要なバイト数を戻します。

Fn fgetrune 関数は、 1 つのルーンをデコードするのに足る数のバイトを Fa stream から読み込もうとすることを除けば、 Fn sgetrune と同じ動作をします。ファイルの終わりに達した場合は EOF を、エンコードでエラーが発生した場合は _INVALID_RUNE を、問題が発生しなかった場合はデコードされたルーンを戻します。

Fn fungetrune 関数は、次に Fn fgetrune を呼び出した場合に Fa rune が戻されるように、 Fn sputrune が与える Fa rune のマルチバイトエンコードを Fa stream にプッシュします。エラーが発生した場合は EOF を戻し、エラーが発生しなかった場合は 0 を戻します。

Fn fputrune 関数は、 Fn sputrune が与える Fa rune のマルチバイトエンコードを Fa stream に書き込みます。エラーが発生した場合は EOF を戻し、エラーが発生しなかった場合は 0 を戻します。  

索引

戻り値

Fn setrunelocale 関数は、以下の値のどれか 1 つを戻します。

Er 0
Fn setrunelocale で問題が発生しませんでした。
Bq Er EFAULT
Fa locale が NULL になっています。
Bq Er ENOENT
ロケールが見つかりません。
Bq Er EFTYPE
見つかったファイルが正しいファイルではありません。
Bq Er EINVAL
ロケールで示されるエンコードが未知のものです。

Fn sgetrune 関数は、読み込んだルーンか _INVALID_RUNE を戻します。 Fn sputrune 関数は、マルチバイトストリングとして Fa rune を保存するために必要なバイト数を戻します。  

索引

関連ファイル

$PATH_LOCALE/ locale /LC_CTYPE
/usr/share/locale/ locale /LC_CTYPE
ロケール locale のバイナリ LC_CTYPE ファイル

 

索引

関連項目

mbrune(3), setlocale(3), euc(4), utf2(4)  

索引

ANSI C の wchar_t 型は、 rune_t と同じです。美しさに劣る ANSI C プリミティブをシステムの土台としない故意の選択であることを強調するために rune_t が選ばれました。  

索引

歴史

この関数は、 BSD 4.4 で初めて登場しました。

Fn setrunelocale 関数とその他の非 ANSI ルーン関数は、 ANSI マルチバイトとワイドキャラクタサポートのより確実な代替案としての Bell Labs の Plan 9 にヒントを得ました。

すべての ANSI マルチバイトとワイドキャラクタのサポート関数は、 ルーン関数を使用して作成されています。


 

索引

Index

名称
ライブラリ
書式
解説
戻り値
関連ファイル
関連項目
歴史

jman



Time: 07:07:06 GMT, January 12, 2009