; hp; ヒューレット・パッカード;hewlett-packard; ヒューレット;コンパック;compaq; OS; OpenVMS;高い信頼性とスケーラビリティを提供するOS"> - OpenVMSのマニュアルページです。">
日本-日本語

 >  マニュアル >  V8.3ライブラリ

OpenVMS マニュアル


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


前へ 次へ 目次 索引





_tolower

大文字を小文字に変換します。



形式

#include <ctype.h>

int _tolower (int character);




引数



character

この引数は大文字でなくてはなりません。



説明

_tolowerマクロは,引数が大文字でなくてはならない (小文字や EOF であってはならない) ことを除けば, tolower関数と等価です。

OpenVMS Version 8.3 では, _tolowerマクロの仕様が C99 ANSI 標準と X/Open 仕様に準拠するように変えられて,特に指定しない限りはパラメータを複数回評価しないようになっています。その結果, _tolowerマクロは tolower関数を単に呼び出すだけとなり,式を評価する回数をユーザが指定できる場合の副作用 (i++ や関数呼び出しなど) を回避できるようになりました。

_tolowerマクロの動作を最適化された古い仕様のままで維持したい場合は, /DEFINE=_FAST_TOUPPER を指定してコンパイルします。そうすれば, _tolowerの呼び出しが以前のリリースと同じように最適化されるので,実行時の呼び出しオーバヘッドを避けることができます。ただし,その場合はパラメータがチェックされて計算方法が決定されるので,予期しない副作用が発生することがあります。そのため,/DEFINE=_FAST_TOUPPER を指定してコンパイルした場合は,副作用を引き起こしそうな引数を _tolowerマクロで使用しないでください。たとえば,次の例のようにこのマクロを使用しても,期待した結果は得られません。


d = _tolower (C++); 




戻り値

x 引数に対応する小文字。




touchwin

ターミナル・スクリーンに,指定されたウィンドウの最新の編集済みバージョンを表示します。



形式

#include <curses.h>

int touchwin (WINDOW *win);




引数



win

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



説明

touchwin関数は,通常はオーバラップするウィンドウを再表示する目的にのみ使用されます。



戻り値

OK 成功を示します。
ERR エラーを示します。




toupper

文字を大文字に変換します。



形式

#include <ctype.h>

int toupper (int character);




引数



character

unsigned charとして表現可能な int型のオブジェクト,または EOF の値。これ以外の値が指定された場合の動作は未定義です。



説明

引数が小文字を表しており,プログラム・ロケール・カテゴリ LC_CTYPE の文字型情報の定義に従って,それに対応する大文字が存在する場合には,対応する大文字が返されます。

引数が小文字でない場合には,その文字が変更なしに返されます。




戻り値

x 引数に対応する大文字。引数が小文字でない場合には,その引数が変更なしに返されます。




_toupper

小文字を大文字に変換します。



形式

#include <ctype.h>

int _toupper (int character);




引数



character

この引数は小文字でなくてはなりません。



説明

_toupperマクロは,引数が小文字でなくてはならない (大文字や EOF であってはならない) ことを除けば, toupper関数と等価です。

OpenVMS Version 8.3 では, _toupperマクロの仕様が C99 ANSI 標準と X/Open 仕様に準拠するように変えられて,特に指定しない限りはパラメータを複数回評価しないようになっています。その結果, _toupperマクロは toupper関数を単に呼び出すだけとなり,式を評価する回数をユーザが指定できる場合の副作用 (i++ や関数呼び出しなど) を回避できるようになりました。

_toupperマクロの動作を最適化された古い仕様のままで維持したい場合は, /DEFINE=_FAST_TOUPPER を指定してコンパイルします。そうすれば, _toupperの呼び出しが以前のリリースと同じように最適化されるので,実行時の呼び出しオーバヘッドを避けることができます。ただし,その場合はパラメータがチェックされて計算方法が決定されるので,予期しない副作用が発生することがあります。そのため,/DEFINE=_FAST_TOUPPER を指定してコンパイルした場合は,副作用を引き起こしそうな引数を _toupperマクロで使用しないでください。たとえば,次の例のようにこのマクロを使用しても,期待した結果は得られません。


d = _toupper (c++); 




戻り値

x 引数に対応する大文字。




towctrans

指定されたマッピング記述子に従って, 1 つのワイド文字を別のワイド文字にマップします。



形式

#include <wctype.h>

wint_t towctrans (wint_t wc, wctrans_t desc);




引数



wc

マップするワイド文字。

desc

wctrans関数の呼び出しを通して取得されるマッピングの記述。



説明

towctrans関数は, descによって記述されたマッピングを使用して, wc で指定されたワイド文字をマップします。

LC_CTYPEカテゴリの現在の設定は, desc の値を返した wctrans関数の呼び出しの際の設定と同じでなくてはなりません。




戻り値

x ワイド文字 wcdesc によって記述されたマッピング内に存在する場合には,そのマップされた値。存在しない場合には, wc の値が返されます。




towlower

ワイド文字コードの引数を小文字に変換します。引数が大文字でなければ,引数が変更なしに返されます。



形式

#include <wctype.h> (ISO C)

#include <wchar.h> (XPG4)

int towlower (wint_t wc);




引数



wc

現在のロケールで有効なワイド文字として表現可能な wint_t型のオブジェクト,または WEOF の値。それ以外の値での動作は未定義です。



説明

引数が大文字のワイド文字だった場合には,それに対応する小文字のワイド文字 ( ロケールの LC_CTYPE カテゴリの定義に従う ) が返されます ( 存在する場合 )。存在しない場合,関数は入力引数を変更なしに返します。



towupper

ワイド文字の引数を大文字に変換します。引数が小文字でなければ,引数が変更なしに返されます。



形式

#include <wctype.h> (ISO C)

#include <wchar.h> (XPG4)

int towupper (wint_t wc);




引数



wc

現在のロケールで有効なワイド文字として表現可能な wint_t型のオブジェクト,または WEOF の値。それ以外の値での動作は未定義です。



説明

引数が小文字のワイド文字だった場合には,それに対応する大文字のワイド文字 ( ロケールの LC_CTYPE カテゴリの定義に従う ) が返されます ( 存在する場合 )。存在しない場合,関数は入力引数を変更なしに返します。



trunc (Alpha, I64)

引数を整数値に切り捨てます。



形式

#include <math.h>

double trunc (double x);

float truncf (float x,);

long double truncl (long double x);




引数



x

浮動小数点数。



戻り値

n 引数を切り捨てて得られた整数値。




truncate

ファイルの長さを,指定されたバイト数に変更します。



形式

#include <unistd.h>

int truncate (const char *path, off_t length);




引数



path

切り捨てるファイルの名前。この引数は,呼び出し元プロセスが書き込み許可を持っている通常のファイルを指定するパス名をポイントしていなくてはなりません。

length

ファイルの新しい長さ (バイト数)。 lengthoff_t型は 64 ビット整数または 32 ビット整数です。64 ビット・インタフェースでは 2 GB よりも大きいファイル・サイズを扱うことができ,コンパイル時に次のように _LARGEFILE 機能テスト・マクロを定義することで選択できます。


CC/DEFINE=_LARGEFILE 




説明

truncate関数は,ファイルの長さを, length 引数で指定されたバイト数に変更します。

新しい長さが以前の長さよりも小さかった場合,関数は指定されたファイルから length バイトよりも後のデータをすべて削除します。新しいファイルの終端と以前のファイルの終端の間のすべてのファイル・データは破棄されます。

ストリーム・ファイルでは,新しい長さが以前の長さよりも大きかった場合,以前のファイルの終端と新しいファイルの終端の間に,すべてゼロから構成される新しいファイル・データが追加されます ( レコード・ファイルでは,この方法でファイルを拡張することはできません )。




戻り値

0 成功を示します。
-1    エラーが発生しました。 errno はエラーを示す値に設定されます。




ttyname, ttyname_r

ターミナルのパス名を見つけます。



形式

#include <unixio.h> (Compatability)

char *ttyname (void); (Compatability)

#include <unistd.h> (OpenVMS V7.3-2 and higher)

char *ttyname (int filedes); (OpenVMS V7.3-2 and higher)

int ttyname_r (int filedes, char *name, size_t namesize); (OpenVMS V7.3-2 and higher) , (Alpha, I64)




引数



filedes

オープン・ファイルの記述子。

name

ターミナル名が格納されるバッファへのポインタ。

namesize

name 引数が指すバッファの長さ。



説明

引数のない ttyname関数は,旧版との互換性のためにのみ用意されています。この旧式の実装では,デフォルトの入力デバイス ( stdin) であるファイル記述子 0 に対応するターミナル・デバイスの, null で終了する名前へのポインタを返します。 SYS$INPUT が TTY デバイスでない場合,値 0 が返されます。

ttyname_r関数と, filedes 引数をとる ttynameの実装は, UNIX 標準に準拠しています。また,OpenVMS Version 7.3-2 およびそれ以降でのみ利用できます。

標準に準拠している ttyname関数は,ファイル記述子 filedes に対応するターミナルの, null で終了するパス名からなる文字列へのポインタを返します。戻り値は,呼び出しのたびに内容が上書きされる,静的データを指しています。 ttynameインタフェースは,リエントラントとは限りません。

ttyname_r関数は,ファイル記述子 filedes に対応するターミナルの, null で終了するパス名を格納する領域へのポインタを, name という名前の文字配列として受け取ります。この配列の長さは,namesize 文字で,名前と末尾の null 文字用の領域が必要です。ターミナル名の最大長は,TTY_NAME_MAX です。

成功すると, ttynameは文字列へのポインタを返します。失敗すると,NULL ポインタが返され,エラーを示す値が errnoに設定されます。

成功すると, ttyname_rは, name が指すバッファに null で終了する文字列としてターミナル名を格納し,0 を返します。失敗すると,エラーを示すエラー番号が返されます。




戻り値

x 成功して終了すると, ttyname は, null で終了する文字列へのポインタを返します。
NULL 失敗すると, ttyname は NULL ポインタを返し,失敗を示す値を errno に設定します。

  • EBADF -- fildes 引数が,正しいファイル記述子ではありません。

  • ENOTTY -- fildes 引数が,ターミナル・デバイスを指していません。

0 成功して終了すると, ttyname_r は 0 を返します。
n 失敗すると, ttyname_r は失敗を示す値を errno に設定し,同じ errno コードを返します。

  • EBADF -- fildes 引数が,正しいファイル記述子ではありません。

  • ENOTTY -- fildes 引数が,TTY デバイスを指していません。

  • ERANGE -- namesize の値が,返却する文字列 (末尾の null 文字を含む) の長さよりも小さくなっています。

0 旧式の ttyname で, SYS$INPUT が TTY デバイスではないことを示します。




tzset

タイム・ゾーン変換の設定とアクセスを行います。



形式

#include <time.h>

void tzset (void);

extern char *tzname[];

extern long int timezone;

extern int daylight;




説明

tzset関数は, ctimelocaltimemktimestrftime,および wcsftime関数が使用する時刻変換情報を初期化します。

tzset関数は,以下の外部変数を設定します。

  • tznameは,"std" を標準タイム・ゾーンの 3 バイトの名前, "dst" をサマータイム・ゾーンの 3 バイトの名前として,次のように設定される。


    tzname[0] = "std" 
    tzname[1] = "dst" 
    

  • daylightは,タイム・ゾーンにサマータイムが決して設定されない場合には 0 に設定される。そうでなければ, daylightは 1 に設定される。

  • timezoneは,UTC とローカル標準時の間の差に設定される。

環境変数 TZは, tzsetが時刻変換情報をどのように初期化するかを指定します。

  • TZが環境に存在しなかった場合には,次のように実装依存のタイム・ゾーン情報が使用される。
    デフォルトのタイム・ゾーン規則を記述する tzfile形式のファイルをポイントする SYS$LOCALTIME システム論理名の定義に従って,ローカル・ウォール・クロック時刻に最も近いものが使用される。
    このシステム論理名は,OpenVMS Version 7.0 以降のバージョンにおいてインストール時に設定されるもので, SYS$COMMON:[SYS$ZONEINFO.SYSTEM] をルートとするディレクトリ階層下のタイム・ゾーン・ファイルを値とする。

    注意

    HP C RTL は,パブリック・ドメインのタイム・ゾーン処理パッケージを使用しており,タイム・ゾーン変換規則は容易にアクセスあるは変更可能なファイルに格納されています。これらのファイルは, SYS$COMMON:[SYS$ZONEINFO.SYSTEM.SOURCES] ディレクトリに置かれています。
    タイム・ゾーン・コンパイラ zic は,これらのファイルを, <tzfile.h>ヘッダ・ファイルによって記述されている特殊な形式に変換します。変換後のファイルは, SYS$TZDIR システム論理名がポイントする SYS$COMMON:[SYS$ZONEINFO.SYSTEM] をルート・ディレクトリとして作成されます。この形式は,タイム・ゾーン情報を処理する C ライブラリ関数から読み込むことができます。たとえば,米国東部では, SYS$LOCALTIME は SYS$COMMON:[SYS$ZONEINFO.SYSTEM.US]EASTERN に定義されます。

  • TZが環境に存在するが,その値が null 文字列だった場合には,協定世界時 (UTC) が使用される ( うるう秒の修正は行われない )。

  • TZが環境に存在しており,その値が null 文字列でなければ,その値は 表 REF-11 に示す 3 つの形式のいずれかになっている。

表 REF-11 タイム・ゾーン初期化規則
TZ の形式 意味
: UTC が使用される。
: pathname コロンの後の文字列は,時刻変換情報を読み込む tzfile 形式のファイルのパス名を指定する。スラッシュ (/) で始まるパス名は絶対パス名を表す。それ以外のパス名は,SYS$TZDIR によって指定されるシステム時刻変換情報ディレクトリからの相対パスである。このディレクトリはデフォルトでは SYS$COMMON:[SYS$ZONEINFO.SYSTEM] である。
stdoffset[ dst[ offset]
[,rule]]
この値は,まず時刻変換情報を読み込むファイルのパス名として使用される (: pathname 形式と同じ )。

そのファイルを読み込めなかった場合,この値は次のように時刻変換情報の直接指定として解釈される。

  stddst---タイム・ゾーンを指定する 3 つ以上の文字:

  • std---標準タイム・ゾーン。必須。

  • dst---サマータイム・ゾーン。オプション。 dst が省略された場合,サマータイムは適用されない。

大文字と小文字は明示的に許容されている。以下のものを除く任意の文字が使用できる。

  • 数字

  • 先頭のコロン (:)

  • コンマ (,)

  • マイナス ( - )

  • プラス (+)

  • ASCII null 文字

  offset---UTC に合わせるためにローカル時刻に追加される値。オフセットは次の形式を持つ。
hh[:
mm[:
ss]]

この形式の各項目は,以下の意味を持つ。

  • hh (時) は,0〜24 の範囲の 1 つまたは 2 つの数字。

  • mm (分) は,0〜59 の範囲の値 (オプション)。

  • ss (秒) は,0〜59 の範囲の値 (オプション)。

  std の後のオフセットは必須である。 dst の後にオフセットがなかった場合には,標準時よりも 1 時間早いサマータイムが仮定される。 1 つまたは複数の数字を使用できる。値はつねに 10 進数として解釈される。

オフセットの前にマイナス記号 ( - ) がある場合,そのタイム・ゾーンはグリニッジの東にある。そうでなければグリニッジの西にある。これはプラス記号 (+) で示すこともできる。

  rule---サマータイムにいつ切り替わり,いつ終了するのかを示す。規則は次の形式を持つ。
start[/
time],
end[/
time]

各項目は以下の意味を持つ。

  • start は,標準時からサマータイムに切り替わる日付を示す。

  • end は,サマータイムから標準時へと戻る日付を示す。

  startend が省略された場合のデフォルトは,米国のサマータイムの開始日と終了日である。 startend の形式は,次のいずれかでなくてはならない。

  • Jn---ユリウス日 n (1 ≦ n ≦ 365)。うるう日は算入されない。つまり,うるう年を含むすべての年において, 2 月 28 日は 59 日目,3 月 1 日は 60 日目である。 2 月 29 日を明示的に参照することはできない。

  • n---ゼロ・ベースのユリウス日 (0 ≦ n ≦ 365)。うるう日は算入され,2 月 29 日を参照することができる。

  • Mm.n.d--- m 月の n 番目の d 曜日。
    0 ≦ n ≦ 5
    0 ≦ d ≦ 6
    1 ≦ m ≦ 12

    n が 5 である場合には, m 月の最後の d 曜日を示す。0 番目の曜日は日曜日である。

  time---現在のローカル時刻で,サマータイムへの切り替えまたは終了が起こる時刻。 time 引数は,先頭のマイナス ( - ) またはプラス (+) 記号を使用できないという点を除けば, offset と同じ形式を持つ。 time が指定されなかった場合のデフォルトは 02:00:00 である。

TZ 指定に rule が含まれていない場合, SYS$POSIXRULES システム論理名に定義されている tzfile 形式のファイルで指定された規則が使用される。その際,標準時とサマータイムの UTC からのオフセットは, TZ で指定されたオフセット値に置き換えられる。

TZ tzfile 形式のファイルを指定しておらず,直接指定としても解釈できない場合には,UTC が使用される。


前へ 次へ 目次 索引



         印刷用画面へ

プライバシー 本サイト利用時の合意事項