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


前へ 次へ 目次 索引



swscanf

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

形式

#include <wchar.h>

int swscanf (const wchar_t *s, const wchar_t *format, ...);


引数

s

入力元のワイド文字列へのポインタ。

format

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

...

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

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

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


説明

swscanf関数は,第 1 引数がストリームではなくワイド文字の配列を指定しているという点を除けば, fwscanf関数と等価です。ワイド文字列の終端に達するのは, fwscanf関数で EOF を検出することに対応します。

fwscanfも参照してください。


戻り値

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


sysconf

構成可能なシステム変数を取得します。

形式

#include <unistd.h>

long int sysconf (int name);


引数

name

照会するシステム変数を指定します。

説明

sysconf関数は,構成可能なシステム制限の現在の値と,オプション機能がサポートされているかどうかを調べるための手段を提供します。

name 引数にはシンボリック定数を指定します。 sysconfは,それに対応するシステム変数の値を返します。

表 REF-10 は, sysconf関数から返されるシステム変数と, name 値として指定できるシンボリック定数を示しています。

表 REF-10 sysconf 引数と戻り値
返されるシステム変数 name のシンボリック定数 意味
ISO POSIX-1
ARG_MAX _SC_ARG_MAX exec 関数の 1 つに対して指定される引数の長さ ( 環境データを含む) の最大値 ( バイト数 )。
CHILD_MAX _SC_CHILD_MAX 個々の実ユーザ ID の同時プロセスの数の最大値。
CLK_TCK _SC_CLK_TCK 1 秒当たりのクロック・ティックの数。CLK_TCK の値は変動する。 CLK_TCK がコンパイル時定数であると仮定してはならない。
NGROUPS_MAX _SC_NGROUPS_MAX 個々のプロセスの同時補助グループ ID の数の最大値。
OPEN_MAX _SC_OPEN_MAX 1 つのプロセスが同時にオープンできるファイルの数の最大値。
STREAM_MAX _SC_STREAM_MAX 1 つのプロセスが同時にオープンできるストリームの数。
TZNAME_MAX _SC_TZNAME_MAX タイム・ゾーンの名前としてサポートされているバイト数の最大値 ( TZ 環境変数の長さではない )。
_POSIX_JOB_CONTROL _SC_JOB_CONTROL この変数は,システムがジョブ・コントロールをサポートしている場合には値 1 を持ち,そうでない場合には - 1 が返される。
_POSIX_SAVED_IDS _SC_SAVED_IDS この変数は,個々のプロセスが保存済みセット・ユーザ ID と保存済みセット・グループ ID を持つ場合は値 1 を持ち,そうでない場合には - 1 が返される。
_POSIX_VERSION _SC_VERSION システムがサポートしている最新バージョンの POSIX-1 標準の承認日。日付は 6 桁の数値で,最初の 4 桁が年を,最後の 2 桁が月を表す。

POSIX_VERSION が定義されていない場合には, - 1 が返される。

IEEE Standards Board は,定期的に POSIX-1 標準の新しいバージョンを承認しており,承認日はこれらの異なるバージョンを区別するために使用される。

ISO POSIX-2
BC_BASE_MAX _SC_BC_BASE_MAX bc コマンドで, obase 変数に使用できる値の最大値。
BC_DIM_MAX _SC_BC_DIM_MAX bc コマンドで,配列が含むことができる要素の数の最大値。
BC_SCALE_MAX _SC_BC_SCALE_MAX bc コマンドで,スケール変数に使用できる値の最大値。
BC_STRING_MAX _SC_BC_STRING_MAX bc コマンドが受け付ける文字列定数の長さの最大値。
COLL_WEIGHTS_MAX _SC_COLL_WEIGHTS_MAX ロケール定義ファイルの LC_COLLATE ロケール依存情報のエントリに割り当てることができる重みの最大値。
EXPR_NEST_MAX _SC_EXPR_NEST_MAX expr コマンドで,括弧に入れてネストすることができる式の数の最大値。
LINE_MAX _SC_LINE_MAX テキスト・ファイルを処理するユーティリティのコマンド入力行 (標準入力または他のファイル) の長さの最大値 (バイト数)。長さには,終端の改行文字が含まれる。
RE_DUP_MAX _SC_RE_DUP_MAX ed コマンドの m および n 引数のように,インターバル表記引数を使用するときの,正規表現を何度繰り返して使用できるかを示す最大値。
_POSIX2_CHAR_TERM _SC_2_CHAR_TERM この変数は,システムが少なくとも 1 つのターミナル・タイプをサポートしている場合には値 1 を持ち,そうでない場合には - 1 が返される。
_POSIX2_C_BIND _SC_2_C_BIND この変数は,システムが C 言語バインディング・オプションをサポートしている場合には値 1 を持ち,そうでない場合には - 1 が返される
_POSIX2_C_DEV _SC_2_C_DEV この変数は,システムがオプションの ISO POSIX-2 標準の C Language Development Utilities をサポートしている場合には値 1 を持ち,そうでない場合には - 1 が返される。
_POSIX2_C_VERSION _SC_2_C_VERSION ISO POSIX-2 標準 (C 言語バインディング) のバージョンを示す整数値。 ISO POSIX-2 標準の新しいバージョンごとに変更される。
_POSIX2_VERSION _SC_2_VERSION ISO POSIX-2 標準 (コマンド) のバージョンを示す整数値。 ISO POSIX-2 標準の新しいバージョンごとに変更される。
_POSIX2_FORT_DEV _SC_2_FORT_DEV この変数は,システムが ISO POSIX-2 標準の Fortran Development Utilities Option をサポートしている場合には値 1 を持ち,そうでない場合には - 1 が返される。
_POSIX2_FORT_RUN _SC_2_FORT_RUN この変数は,システムが ISO POSIX-2 標準の Fortran Runtime Utilities Option をサポートしている場合には値 1 を持ち,そうでない場合には - 1 が返される。
_POSIX2_LOCALEDEF _SC_2_LOCALEDEF この変数は,システムが localedef コマンドでの新しいロケールの作成をサポートしている場合には値 1 を持ち,そうでない場合には - 1 が返される。
_POSIX2_SW_DEV _SC_2_SW_DEV この変数は,システムが ISO POSIX-2 標準の Software Development Utilities Option をサポートしている場合には値 1 を持ち,そうでない場合には - 1 が返される。
_POSIX2_UPE _SC_2_UPE この変数は,システムが User Portability Utilities Option をサポートしている場合には値 1 を持ち,そうでない場合には - 1 が返される。
POSIX 1003.1c-1995
_POSIX_THREADS _SC_THREADS この変数は,システムが POSIX スレッドをサポートしている場合には値 1 を持ち,そうでない場合には - 1 が返される。
_POSIX_THREAD_ATTR_STACKSIZE _SC_THREAD_ATTR_STACKSIZE この変数は,システムが POSIX スレッドのスタック・サイズ属性をサポートしている場合には値 1 を持ち,そうでない場合には - 1 が返される。
_POSIX_THREAD_PRIORITY_SCHEDULING _SC_THREAD_PRIORITY_SCHEDULING 1003.1c インプリメンテーションは,リアルタイム・スケジューリング関数をサポートしている。
_POSIX_THREAD_SAFE_FUNCTIONS _SC_THREAD_SAFE_FUNCTIONS インプリメンテーションが POSIX 1003.1c のスレッド・セーフな ANSI C 関数をサポートしている場合に TRUE。
PTHREAD_DESTRUCTOR_ITERATIONS _SC_THREAD_DESTRUCTOR_ITERATIONS スレッドが終了したとき, DECthreads はスレッド内のすべての NULL でないスレッド固有データ値を巡回し,それぞれの登録されたデストラクタ・ルーチン ( 存在する場合 ) を呼び出す。デストラクタ・ルーチンは, 1 つまたは複数のスレッド固有データ・キーの新しい値を作成することができる。この場合,DECthreads はプロセス全体を再実行する。

インプリメンテーションは,ループを _SC_THREAD_DESTRUCTOR_ITERATIONS 回実行した後は,たとえ NULL でない値が存在してもスレッドを終了させる。

PTHREAD_KEYS_MAX _SC_THREAD_KEYS_MAX アプリケーションが作成できるスレッド固有データ・キーの数の最大値。
PTHREAD_STACK_MIN _SC_THREAD_STACK_MIN 新しいスレッドのスタックのサイズとして許容される最小値。 "stacksize" スレッド属性に対してこれよりも小さな値が指定された場合には,このサイズにまで切り上げられる。
UINT_MAX _SC_THREAD_THREADS_MAX アプリケーションが作成できるスレッドの数の最大値。 DECthreads は固定の上限を設けていないため,この値は - 1 である。
X/Open
_XOPEN_VERSION _SC_XOPEN_VERSION システムがサポートしている X/Open 標準の最新バージョンを示す整数。
PASS_MAX _SC_PASS_MAX パスワードの中の有効なバイト数の最大値 (終端の null を含まない)。
XOPEN_CRYPT _SC_XOPEN_CRYPT この変数は,システムが X/Open Encryption Feature Group をサポートしている場合には値 1 を持ち,そうでない場合には - 1 が返される。
XOPEN_ENH_I18N _SC_XOPEN_ENH_I18N この変数は,システムが X/Open enhanced Internationalization Feature Group をサポートしている場合には値 1 を持ち,そうでない場合には - 1 が返される。
XOPEN_SHM _SC_XOPEN_SHM この変数は,システムが X/Open Shared Memory Feature Group をサポートしている場合には値 1 を持ち,そうでない場合には - 1 が返される。
X/Open Extended
ATEXIT_MAX _SC_ATEXIT_MAX 1 つのプロセスで atexit を使って登録できる関数の数の最大値。
PAGESIZE _SC_PAGESIZE ページのサイズ (バイト数)。
PAGE_SIZE _SC_PAGE_SIZE PAGESIZE と同じ。PAGESIZE と PAGE_SIZE のどちらが定義されている場合には,もう一方の定数も同じ値で定義される。
IOV_MAX _SC_IOV_MAX 1 つのプロセスが readv または writev で使用できる iovec 構造体の数の最大値。
XOPEN_UNIX _SC_XOPEN_UNIX この変数は,システムが X/Open CAE Specification, August 1994, System Interfaces and Headers, Issue 4, Version 2 (ISBN: 1-85912-037-7, C435) をサポートしている場合には値 1 を持ち,そうでない場合には - 1 が返される。


戻り値

x システム上の現在の変数の値。この値は,呼び出し元プロセスが存在している間は変化しません。
- 1 エラーを示します。

name 引数の値が無効だった場合, errno はエラーを示す値に設定されます。

name 引数の値が未定義だった場合, errno は変更されません。


system

指定された文字列を,コマンド・プロセッサで実行させるためにホスト環境に渡します。この関数は非リエントラントです。

形式

#include <stdlib.h>

int system (const char *string);


引数

string

実行する文字列へのポインタ。 string が NULL である場合には,ゼロ以外の値が返されます。 string は DCL コマンドであり,イメージの名前ではありません。イメージを実行するには,いずれかの execルーチンを使用してください。

説明

system関数はサブプロセスをスポーンし,そのサブプロセスの中で, string で指定されたコマンドを実行します。 system関数は,サブプロセスが完了するのを待ってから,関数の戻り値としてサブプロセス・ステータスを返します。

サブプロセスは, system呼び出しの中で, vforkの呼び出しによってスポーンされます。このため, systemの呼び出しは, vforkの呼び出しの後,それに対応する exec関数の呼び出しの前に行うべきではありません。

OpenVMS バージョン 7.0 およびそれ以降のシステムでは, <stdlib.h>をインクルードし, _POSIX_EXIT 機能テスト・マクロを設定してコンパイルを行うと, system関数が返すステータスは,子を待つために waitpidを呼び出したときと同じようになります。このため,WIFEXITED および WEXITSTATUS マクロを使用して, 0〜255 の範囲の終了ステータスを取得するようにしてください。

_POSIX_EXIT 機能テスト・マクロの設定は, /DEFINE_POSIX_EXIT を使用するか,ファイルの先頭で,他のファイルをインクルードする前に #define _POSIX_EXIT を指定することによって行います。


戻り値

ゼロ以外の値 string が NULL だった場合には, system 関数がサポートされていることを示す値 1 が返されます。 string が NULL でなければ,値はサブプロセスの OpenVMS リターン・ステータスです。



#include <stdlib.h> 
#include <stdio.h> 
#include <unistd.h>     /* write, close */ 
#include <fcntl.h>      /* Creat */ 
 
main() 
{ 
    int status, 
        fd; 
 
    /* Creat a file we are sure is there        */ 
 
    fd = creat("system.test", 0); 
    write(fd, "this is an example of using system", 34); 
    close(fd); 
 
    if (system(NULL)) { 
        status = system("DIR/NOHEAD/NOTRAIL/SIZE SYSTEM.TEST"); 
        printf("system status = %d\n", status); 
    } 
    else 
        printf("system() not supported.\n"); 
} 

この例のプログラムを実行すると,次の結果が出力されます。


DISK3$:[JONES.CRTL.2059.SRC]SYSTEM.TEST;1 
                           1 
system status = 1 


前へ 次へ 目次 索引