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


前へ 次へ 目次 索引



wcwidth

ディスプレイ・デバイス上の,指定されたワイド文字の表示に必要なプリント位置の数を決定します。

形式

#include <wchar.h>

int wcwidth (wchar_t wc);


引数

wc

ワイド文字。

説明

wcwidth関数は,指定されたワイド文字 wc に必要なカラム位置の数を決定します。 wc の値は,現在のロケールにおける有効なワイド文字でなくてはなりません。

戻り値

x wc に必要なプリント位置の数。
0 wc は null 文字です。
- 1 wc が有効でプリント可能なワイド文字を表していないことを示します。


wmemchr

ワイド文字の配列の中で,指定されたワイド文字の最初のオカレンスを探します。

形式

#include <wchar.h>

wchar_t wmemchr (const wchar_t *s, wchar_t c, size_t n);

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

引数

s

検索の対象とするワイド文字の配列へのポインタ。

c

検索するワイド文字値。

n

検索の対象とする配列内のワイド文字の数の最大値。

説明

wmemchr関数は,s がポイントする配列の最初の n 個のワイド文字の中で,指定されたワイド文字の最初のオカレンスを探します。

戻り値

x 配列中のワイド文字の最初のオカレンスへのポインタ。
NULL 指定されたワイド文字は配列中に存在しません。


wmemcmp

2 つのワイド文字の配列を比較します。

形式

#include <wchar.h>

int wmemcmp (const wchar_t *s1, const wchar_t *s2, size_t n);


引数

s1, s2

ワイド文字配列へのポインタ。

n

比較するワイド文字の数の最大値。

説明

wmemcmp関数は, s1 がポイントする配列の最初の n 個のワイド文字を, s2 がポイントする配列の最初の n 個のワイド文字と比較します。ワイド文字の比較は,ロケール依存の照合規則に従って行われるのではなく, wchar_t型の整数オブジェクトとして行われます。

戻り値

0 配列が等しいことを示します。
正の値 第 1 の配列が第 2 の配列よりも大きいことを示します。
負の値 第 1 の配列が第 2 の配列よりも小さいことを示します。


wmemcpy

指定された数のワイド文字を,1 つのワイド文字配列から別のワイド文字配列にコピーします。

形式

#include <wchar.h>

wchar_t wmemcpy (wchar_t *dest, const wchar_t *source, size_t n);

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

引数

dest

デスティネーション配列へのポインタ。

source

ソース配列へのポインタ。

n

コピーするワイド文字の数。

説明

wmemcpy関数は,source がポイントする配列の n 個のワイド文字を,dest がポイントする配列にコピーします。

戻り値

x dest の値。


wmemmove

指定された数のワイド文字を,1 つのワイド文字配列から別のワイド文字配列にコピーします。

形式

#include <wchar.h>

wchar_t wmemmove (wchar_t *dest, const wchar_t *source, size_t n);

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

引数

dest

デスティネーション配列へのポインタ。

source

ソース配列へのポインタ。

n

移動するワイド文字の数。

説明

wmemmove関数は, source がポイントする位置の n 個のワイド文字を, dest がポイントする位置にコピーします。

wmemmoveルーチンと wmemcpyルーチンは同じ機能を実行しますが, wmemmoveは,2 つの配列がオーバラップする場合でも,ソース配列の内容を確実にデスティネーション配列にコピーします。このようなオーバラップが生じる可能性がある場合,移植性を必要とするプログラムは wmemcpyではなく wmemmoveを使用するようにしてください。


戻り値

x dest の値。


wmemset

ワイド文字の配列の中の指定された数のワイド文字に,指定された値を設定します。

形式

#include <wchar.h>

wchar_t wmemset (wchar_t *s, wchar_t c, size_t n);

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

引数

s

ワイド文字の配列へのポインタ。

c

配列の先頭の n 個のワイド文字に格納する値。

n

指定された値 c に設定するワイド文字の数。

説明

wmemset関数は,s がポイントする配列の先頭の n 個のワイド文字のそれぞれに,c の値をコピーします。

戻り値

x s の値。


wprintf

標準出力 ( stdout) に対して書式付きの出力を行います。書式指定子については,『HP C ランタイム・ライブラリ・リファレンス・マニュアル(上巻)』第 2 章を参照してください。

形式

#include <wchar.h>

int wprintf (const wchar_t *format, ...);


引数

format

書式指定を含んだワイド文字列へのポインタ。書式指定および変換指定とそれぞれに対応する引数の詳細については,『HP C ランタイム・ライブラリ・リファレンス・マニュアル(上巻)』第 2 章を参照してください。

...

結果として得られる型が,書式指定で与えられた変換指定に対応するオプションの式。

変換指定が与えられなかった場合,出力ソースは省略することができます。そうでなければ,関数呼び出しは変換指定と同じ数の出力ソースを持っていなくてはならず,変換指定は出力ソースの型と一致していなくてはなりません。

変換指定は,左から右の順序で出力ソースと照合されます。余分な出力ポインタが存在する場合には,無視されます。


説明

wprintf関数は,その引数の前に stdout引数を指定した fwprintf関数と等価です。

戻り値

n 書き込まれたワイド文字の数。
負の値 エラーを示します。関数は errno を以下のいずれかに設定します。

  • EILSEQ---無効な文字を検出した。

  • EINVAL---引数が足りなかった。

  • ENOMEM---変換のために利用できるメモリが足りなかった。

  • ERANGE---浮動小数点計算のオーバフロー。

  • EVMSERR---変換不可能な OpenVMS エラー。 vaxc$errno に OpenVMS エラー・コードが含まれている。オーバフローのために数値への変換が失敗した可能性がある。

また,関数は I/O サブシステムから返されたエラーの結果として, errno を以下の値に設定することもあります。

  • EBADF---ファイル記述子が有効でない。

  • EIO---I/O エラー。

  • ENOSPC---ファイルを含んでいるデバイス上に空きスペースがない。

  • ENXIO---デバイスが存在しない。

  • EPIPE---パイプが破壊されている。

  • ESPIPE---追加用にオープンされたファイル内での不正なシーク。

  • EVMSERR---変換不可能な OpenVMS エラー。 vaxc$errno に OpenVMS エラー・コードが含まれている。等価な C エラー・コードがない I/O エラーが発生した可能性がある。


wrapok

UNIX システム環境で,ウィンドウの右端のワードを次の行の先頭にラップできるようにします。このルーチンは UNIX ソフトウェアとの互換性のためにのみ用意されているもので,OpenVMS 環境では何の機能も持ちません。

形式

#include <curses.h>

wrapok (WINDOW *win, bool boolf);


引数

win

ウィンドウへのポインタ。

boolf

論理型の TRUE または FALSE の値。boolf が FALSE の場合,スクロールは許容されません。これはデフォルトの設定です。 bool型は, <curses.h>ヘッダ・ファイルに次のように定義されています。


#define bool int 


write

バッファ内の指定された数のバイトをファイルに書き込みます。

形式

#include <unistd.h>

ssize_t write (int file_desc, void *buffer, size_t nbytes); (ISO POSIX-1)

int write (int file_desc, void *buffer, int nbytes); (Compatability)


引数

file_desc

現在,書き込みまたは更新用にオープンされているファイルを参照するファイル記述子。

buffer

出力データの取得元となる,連続した記憶域のアドレス。

nbytes

書き込みを行うバイト数の最大値。

説明

writeが RMS レコード・ファイルに対するもので,バッファに埋め込みの改行文字が含まれている場合には,複数のレコードがファイルに書き込まれます。埋め込みの改行文字がない場合でも, nbytes がファイルの最大レコード・サイズよりも大きければ,ファイルには複数のレコードが書き込まれます。 write関数は,必ず少なくとも 1 つのレコードを生成します。

writeがメールボックスに対するもので,第 3 引数の nbytes が長さ 0 を指定している場合には,メールボックスにファイルの終端メッセージが書き込まれます。これはアプリケーションが SYS$CREMBX を使って作成したメールボックスの場合であり, POSIX パイプをインプリメントするために作成されたメールボックスは例外となります。詳細については,『HP C ランタイム・ライブラリ・リファレンス・マニュアル(上巻)』第 5 章を参照してください。


戻り値

x 書き込まれたバイト数。
- 1 未定義のファイル記述子,不正なバッファ・アドレス,物理 I/O エラーなどのエラーを示します。


writev

ファイルに書き込みを行います。

形式

#include <uio.h>

ssize_t writev (int file_desc, const struct iovec *iov, int iovcnt);

ssize_t __writev64 (int file_desc, const struct __iovec64 *iov, int iovcnt); (Alpha only)

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

引数

file_desc

現在,書き込みまたは更新用にオープンされているファイルを参照するファイル記述子。

iov

出力データの取得元となる iovec構造体の配列。

iovcnt

iov 配列のメンバによって指定されるバッファの数。

説明

writev関数は writeと同じ機能を持ちますが,出力データを iov 配列のメンバ (iov[0], iov[1], ..., iov[iovcnt - 1]) で指定される iovcnt 個のバッファから取得します。iovcnt 引数は,0 よりも大きく, <limits.h>に定義されている {IOV_MAX} 以下である場合に有効となります。

個々の iovecエントリは,データの取得元となるメモリ内の領域のベース・アドレスと長さを指定します。 writev関数は,その領域全体を書き込んだ後に,次の領域に進みます。

filedes が通常のファイルを参照しており, iov がポイントする配列内のすべての iov_lenメンバが 0 だった場合, writevは 0 を返し,何の効果も持ちません。

その他のファイル・タイプでの動作は定められていません。

iov_len値の合計が SSIZE_MAX よりも大きい場合,操作は失敗し,データは転送されません。

実行に成功すると, writevは実際に書き込まれたバイト数を返します。それ以外の場合は値 - 1 を返し,ファイル・ポインタは変更されず, errnoはエラーを示す値に設定されます。


戻り値

x 書き込まれたバイト数。
- 1 エラーを示します。ファイルの時刻は変更されず,関数は errno を以下のいずれかの値に設定します。

  • EBADF--- file_desc 引数が,書き込み用にオープンされた有効なファイル記述子でない。

  • EINTR---書き込み操作はシグナルを受信したために終了し,データは転送されなかった。

  • EINVAL--- iov 配列の中の iov_len 値の合計が ssize_t のオーバフローを引き起こす,または iovcnt 引数が 0 以下,あるいは {IOV_MAX} よりも大きかった。

  • EIO---物理 I/O エラーが発生した。

  • ENOSPC---ファイルを含んでいるデバイス上に空きスペースがない。

  • EPIPE---どのプロセスの読み込み用にもオープンされていない,または片側だけがオープンされているパイプまたは FIFO に書き込もうとした。スレッドには SIGPIPE シグナルも送信される。


wscanf

ワイド文字書式文字列の制御下で,標準入力 ( stdin) から入力を読み込みます。

形式

#include <wchar.h>

int wscanf (const wchar_t *format, ...);


引数

format

書式指定を含んだワイド文字列へのポインタ。書式指定および変換指定とそれぞれに対応する引数の詳細については,『HP C ランタイム・ライブラリ・リファレンス・マニュアル(上巻)』第 2 章を参照してください。

...

結果として得られる型が,書式指定で与えられた変換指定に対応するオプションの式。

変換指定が与えられなかった場合,入力ポインタは省略することができます。そうでなければ,関数呼び出しは変換指定と同じ数の入力ポインタを持っていなくてはならず,変換指定は入力ポインタの型と一致していなくてはなりません。

変換指定は,左から右の順序で入力ソースと照合されます。余分な入力ポインタが存在する場合には,無視されます。


説明

wscanf関数は,その引数の前に stdin引数を指定した fwscanf関数と等価です。

戻り値

n 代入が行われた入力項目の数。この数は,早い段階で照合に失敗した場合には,指定された数よりも少なかったり,ときには 0 になることがあります。
EOF エラーを示します。変換が行われる前に入力エラーが発生しました。


前へ 次へ 目次 索引