ioCNTL宣言によりストリームの制御ができます。ioCNTLは、ストリームに対して実行できる、I/O以外の操作のテーブルです。下に示すプログラムは、EOFのテストをできるようにする例です。(注意: fileEof は二つの用途に使われています。一つはここで示した簡単な制御のテストをするため、もう一つはPrologのI/O述語から呼び出され、EOFを検出するためです。)...
移動
次へ 前へ
上へ 最上
参考
IF/Prologからのストリームの使用
新しいストリーム・クラスの定義
ストリームの制御
File_stream定義を試す
定義済みのCストリーム・ルーチン
さらに複雑なユーザ定義のストリーム
イフコンピュータ > IF/Prolog > マニュアル > IF/Prolog V4.1 マニュアル > IF/Prolog Interfaces > IF/PrologからC言語へのインタフェ−ス > IF/Prolog ストリーム ・インタフェース > ストリームの制御

ストリームの制御

MINERVA superseeded IF/Prolog. Please see http://www.ifcomputer.co.jp/MINERVA for details.

We discontinued to sell IF/Prolog Dec 31. 2003. For current customers, we continue to provide professional support for IF/Prolog until Dec 31, 2008.

ioCNTL宣言によりストリームの制御ができます。ioCNTLは、ストリームに対して実行できる、I/O以外の操作のテーブルです。下に示すプログラムは、EOFのテストをできるようにする例です。(注意: fileEof は二つの用途に使われています。一つはここで示した簡単な制御のテストをするため、もう一つはPrologのI/O述語から呼び出され、EOFを検出するためです。)

static int fileError(s, mode, args) ioUNIT *s; int mode; TERM *args; { switch (mode) { case 1: return Unify(args[0], StrAt((fileEof(s)) ? "yes" : "no")); } }

static ioCNTL fileTable[] = { { "at_eof", 1, 1, fileError }, { (char*)0 } } ;

stream_control 述語を使うことによって、IF/Prologから、ストリームの制御が行えます:

open(log_1,file_stream('test'),[input]), stream_control(log_1,at_eof(X)).

この例では、ストリームlog_1のEOF状態にしたがって、Xにyesあるいはnoが返されます。

続く..
IF/Prolog by Siemens
言語
English
Japanese
German
サーバー
USA
Japan
サイトマップ
索引
目次
全体目次
全体索引
印刷向き
imode
PDA
探索
document: http://www.ifcomputer.co.jp/IFProlog/Manuals/v4.1/advanced_feature/c_interface/strint/strcol/home_jp.html
published 2008/10/6 update 1995/11/6 (c) 1996-2006 IF Computer Japan
IF Computer 〒113-0022 Tel 03-5814-3352 start (AT) ifcomputer.com
Customer Support 東京都文京区千駄木5-28-2   http://www.ifcomputer.co.jp
冒頭へ managed with ubiCMS