HP OpenVMS Systems Documentation |
| 前へ | 次へ | 目次 | 索引 |
指定された数の項目をファイルに書き込みます。
#include <stdio.h>size_t fwrite (const void *ptr, size_t size_of_item, size_t number_items, FILE *file_ptr);
ptr
情報の書き込み元のメモリ位置を指すポインタ。示されるオブジェクトの型は書き込まれる項目の型によって決定されます。size_of_item
書き込む項目のサイズ (バイト数)。number_items
書き込む項目の数。file_ptr
項目の書き込み先のファイルを示すファイル・ポインタ。
size_t型は,次に示すように <stdio.h>ヘッダ・ファイルに定義されています。
typedef unsigned int size_t
書き込みはファイルの現在の位置から開始されます。項目は,最初の引数によって示される位置から始まる記憶域から書き込まれます。項目のサイズ ( バイト数 ) も指定する必要があります。
file_ptr によって示されるファイルがレコード・ファイルの場合は, fwrite関数は少なくとも number_items 個のレコードを出力します。各レコードの長さは size_of_item です。
x 書き込んだ項目の数。書き込まれるレコードの数は,ファイルの最大レコード・サイズに応じて異なります。
ワイド文字の書式指定文字列の制御のもとで,ストリームから入力を読み込みます。
#include <wchar.h>int fwscanf (FILE *stream, const wchar_t *format, ...);
stream
ファイル・ポインタ。format
書式指定を格納したワイド文字の文字列を指すポインタ。書式指定と変換指定,および対応する引数の詳細については,『HP C ランタイム・ライブラリ・リファレンス・マニュアル(上巻)』第 2 章を参照してください。...
省略可能な式であり,式の結果は書式指定に指定した変換指定に対応します。書式指定と変換指定,およびそれに対応する引数の詳細については,『HP C ランタイム・ライブラリ・リファレンス・マニュアル(上巻)』第 2 章を参照してください。変換指定を指定しない場合は,入力ポインタを省略できます。変換指定を指定する場合は,関数呼び出しに変換指定と正確に同じ数の入力ポインタを指定する必要があります。変換指定は入力ポインタの型と一致しなければなりません。
変換指定は左から右への順に入力ソースに対応付けられます。入力ポインタの数の方が多い場合は,超過するポインタは無視されます。
fwscanf関数は, format によって示されるワイド文字の文字列の制御のもとで, stream によって示されるストリームから入力を読み込みます。書式指定に対して引数が不足している場合は,動作は未定義になります。引数が残っているのに,書式指定が不足する場合は,超過する引数は評価されますが,無視されます。書式指定は,次のような 0 個以上のディレクティブで構成されます。
- 1 つ以上の空白ワイド文字
- 通常のワイド文字 (パーセント記号 (%)) と空白ワイド文字を除く)
- 変換指定
各変換指定はワイド文字 % から始まります。
stream 引数によって示されるストリームがバイト単位でもワイド文字単位でもない場合は, fwscanfはストリームをワイド文字単位に設定します。
n 代入した入力項目の数。提供された項目の数より少なくなることがあり,早い段階で照合エラーが発生した場合は,0 になることもあります。 EOF エラーを示します。変換の前に入力エラーが発生しました。
引数をヌル区切りの ASCII 数字列に変換し,文字列のアドレスを返します。
#include <stdlib.h>関数バリアント gcvt関数には, _gcvt32および _gcvt64という名前のバリアントがあり,それぞれ 32 ビット・ポインタ・サイズおよび 64 ビット・ポインタ・サイズで使用されます。ポインタ・サイズ固有の関数の使い方の詳細については,『HP C ランタイム・ライブラリ・リファレンス・マニュアル(上巻)』第 1.10 節を参照してください。char *gcvt (double value, int ndigit, char *buffer);
value
ヌル区切りの ASCII 数字列に変換される double型のオブジェクト。ndigit
変換後の数字列で使用される ASCII 数字の桁数。 ndigit が 6 未満の場合は,値は 6 になります。buffer
変換後の数字列を格納する記憶域の位置。
gcvt関数は,変換された文字列をバッファに格納し,バッファのアドレスを返します。可能な場合は, gcvtは F 形式で有効桁 ndigit 桁の数字を生成します。不可能な場合は E 形式で生成します。後続の 0 は削除されます。ecvt, fcvt, gcvt関数は,浮動小数点演算に関して IEEE 標準で指定されている次の特殊な値を表します。
値 表現 クワイエット NaN NaNQ シグナリング NaN NaNS +無限大 無限大 - 無限大 - 無限大
これらの各値に割り当てられる符号は,sign 引数に格納されます。 IEEE 浮動小数点表現では,0 (ゼロ) という値は正の場合も負の場合もあり,どちらであるかは sign 引数によって設定されます。
fcvtおよび ecvtも参照してください。
x バッファのアドレス。
指定されたファイルから次の文字を返します。
#include <stdio.h>int getc (FILE *file_ptr);
file_ptr
アクセスするファイルを指すポインタ。
getcマクロは,file_ptr パラメータで指定された入力ストリームから次のバイトを取り出して返し,ファイル・ポインタが定義されていれば,ファイル・ポインタを入力ストリーム中で 1 バイト進めます。getcはマクロであるため,副作用のあるファイル・ポインタ引数 ( たとえば, getc (*f++)) は正しく評価されないことがあります。このような場合は,代わりに fgetc関数を使用してください。 fgetc関数を参照してください。
getc_unlockedも参照してください。
n 返された文字。 EOF アァイルの終端 (EOF) またはエラーを示します。
getcマクロと同様ですが, flockfileと funlockfileで保護された範囲内だけで使用します。
#include <stdio.h>int getc_unlocked (FILE *file_ptr);
file_ptr
ファイル・ポインタ。
リエントラント版である getcマクロは,複数スレッドからの同時呼び出しに対してロックされます。その結果,ストリームの一貫性を保証するためのオーバヘッドが生じます。アンロック版である getc_unlockedを使用すると,このオーバヘッドを避けることができます。 getc_unlockedマクロは, getcマクロと機能的に同じですが,スレッド・セーフな方法で実装する必要がない点が異なります。 getc_unlockedマクロは, flockfile関数と funlockfile関数を対で使用して保護された範囲内でだけ,安全に使用することができます。呼び出し元は, getc_unlockedを使用する前に,ストリームを確実にロックする必要があります。getc_unlockedはマクロであるため,副作用のあるファイル・ポインタ引数は正しく評価されないことがあります。このような場合は,代わりに fgetc_unlocked関数を使用してください。
flockfile, ftrylockfile,および funlockfileも参照してください。
n 返された文字。 EOF ファイルの終端 (EOF) またはエラーを示します。
端末画面から 1 文字を取得し,その文字を指定のウィンドウに表示します。 getch関数は文字を stdscrウィンドウに表示します。
#include <curses.h>char getch();
char wgetch (WINDOW *win);
win
ウィンドウを指すポインタ。
getch関数と wgetch関数は,文字を読み込む前に,指定されたウィンドウの表示を更新します。詳細については, scrollok関数を参照してください。
x 返された文字。 ERR 関数が画面を不正にスクロールすることを示します。
標準入力 ( stdin) から 1 文字を読み込みます。
#include <stdio.h>int getchar (void);
getchar関数は fgetc( stdin) と同じです。getchar_unlockedも参照してください。
x stdin から読み込まれ, int に変換された次の文字。 EOF ファイルの終端 (EOF) またはエラーを示します。
getchar関数と同様ですが, flockfileと funlockfileで保護された範囲内だけで使用します。
#include <stdio.h>int getchar_unlocked (void);
リエントラント版である getchar関数は,複数スレッドからの同時呼び出しに対してロックされます。その結果,ストリームの一貫性を保証するためのオーバヘッドが生じます。アンロック版である getchar_unlockedを使用すると,このオーバヘッドを避けることができます。 getchar_unlocked関数は, getchar関数と機能的に同じですが,スレッド・セーフな方法で実装する必要がない点が異なります。 getchar_unlocked関数は, flockfile関数と funlockfile関数を対で使用して保護された範囲内でだけ,安全に使用することができます。呼び出し元は, getchar_unlockedを使用する前に,ストリームを確実にロックする必要があります。flockfile, ftrylockfile,および funlockfileも参照してください。
x stdin から読み込まれ, int に変換された次の文字。 EOF ファイルの終端 (EOF) またはエラーを示します。
システム単位のクロックの現在の値を取得します。
#include <timers.h>int getclock (int clktyp, struct timespec *tp);
clktyp
システム単位のクロックの種類。tp
システム単位のクロックの現在の値が格納されている timespec構造体を指すポインタ。
getclock関数は, clktyp によって指定されるクロックの現在の値を, tp によって示される記憶位置に格納します。clktyp 引数は, <timers.h>ヘッダ・ファイルに定義されているシンボル定数名として指定します。 TIMEOFDAYシンボル定数だけがサポートされます。この定数は,アクセスするシステム単位の時刻として,通常の time-of-day クロックを指定します。
TIMEOFDAYによって指定されるクロックの場合,この関数から返される値は,Epoch からの経過時間です。 Epoch は 1970 年 1 月 1 日 UTC (協定世界時) 00:00:00 を参照します。
getclock関数は timespec構造体を返します。この構造体は,次に示すように <timers.h>ヘッダ・ファイルに定義されています。
struct timespec { unsigned long tv_sec /* Elapsed time in seconds since the Epoch*/ long tv_nsec /* Elapsed time as a fraction of a second */ /* since the Epoch (in nanoseconds) */ };
0 正常終了を示します。 - 1 エラーを示します。 errno は次のいずれかの値に設定されます。
- EINVAL--- clktyp 引数が認識されるシステム単位のクロックを指定していません。
または SYS$TIMEZONE_DIFFERENTIAL 論理名の値が不正です。
- EIO--- clktyp 引数によって指定されるシステム単位のクロックにアクセスしたときにエラーが発生しました。
現在のワーキング・ディレクトリのファイル指定を指すポインタを返します。
#include <unistd.h>関数バリアント getcwd関数には, _getcwd32および _getcwd64という名前のバリアントがあり,それぞれ 32 ビット・ポインタ・サイズおよび 64 ビット・ポインタ・サイズで使用されます。ポインタ・サイズ固有の関数の使い方の詳細については,『HP C ランタイム・ライブラリ・リファレンス・マニュアル(上巻)』第 1.10 節を参照してください。char *getcwd (char *buffer, size_t size); (ISO POSIX-1)
char *getcwd (char *buffer, unsigned int size, ...); (HP C Extension)
buffer
ディレクトリ指定を格納できるだけの十分な大きさの文字列を指すポインタ。buffer が NULL ポインタの場合は, getcwdは mallocを使用して size バイトの領域を取得します。 この場合, getcwdから返されたポインタをこの後の freeの呼び出しで引数として使用することができます。
size
返されるディレクトリ指定の長さ。...
省略可能な引数であり,1 または 0 に設定できます。1 を指定した場合, OpenVMS 形式でディレクトリ指定が返されます。 0 を指定した場合は, UNIX 形式でディレクトリ指定 ( パス名 ) が返されます。この引数を指定しないと, getcwdは現在のコマンド言語インタプリタ (CLI) に従ってファイル名を返します。 UNIX 形式のディレクトリ指定の詳細については,『HP C ランタイム・ライブラリ・リファレンス・マニュアル(上巻)』第 1.4.3 項を参照してください。
x ファイル指定を指すポインタ。 NULL エラーを示します。
プロセスが同時にオープンできるファイル記述子の総数を取得します。
#include <unistd.h>int getdtablesize (void);
getdtablesize関数は,プロセスが同時にオープンできるファイル記述子の総数を返します。各プロセスでオープンできるファイル記述子の数は一定の数に制限されています。プロセスがオープンできるファイル記述子の数は,次の値の中の最小値です。
- HP C RTL のオープン・ファイル・リミット -- OpenVMS Alpha および I64 では 65535,OpenVMS VAX では 2048。
- SYSGEN CHANNELCNT パラメータ---パーマネント I/O チャネル・カウント。
- プロセスのオープン・ファイル・クォータ FILLM パラメータ--- 一度にプロセスがオープンできるファイルの数。
x プロセスが同時にオープンできるファイル記述子の数。 - 1 エラーを示します。
| 前へ | 次へ | 目次 | 索引 |