実身を作成する

では実身を作成しましょう。今度も最初は作成するだけ、つまりUNIXにおいてR_WRONLYでopenするだけにします。

#include <sample.h>

VOID main(W argc, TC ** argv)
{
  LINK DestLink;
  WERR WErr, DestFD;
  ERR Err;

  WErr = get_lnk(L"test", &DestLink, F_NORM);
  Err = cre_fil(&DestLink, L"output", NULL, 1, F_FLOAT);
  DestFD = opn_fil(&DestLink, F_WRITE, NULL);
  cls_fil( DestFD );
}

プログラムを置いておきます

プログラムの解説

今度も一つずつ見ていきます。

  1. WErr = get_lnk(L"test", &DestLink, F_NORM);
    「あれ?何で実身を作るのにtestなんか使うの?関係ないじゃん。」う〜んここではとりあえずこれはこういうものだということにしておいて下さい。次回一応の解説をします。
  2. Err = cre_fil(&DestLink, L"output", NULL, 1, F_FLOAT);
    1. 第二引数は新たに作る実身の実身名を指定します。
    2. 第三引数はよく分かりませんがNULLにしておけばデフォルトが適用されるようなのでこうしておきます。
    3. 第四引数は「ファイルアプリケーションタイプ」で、恐らくどのピクトグラムを使うかの指定ですね、多分。試していませんが、1なら文章の、2なら図形のピクトグラムになると思います。本当は元の実身と同じピクトグラムにする、などとしないと駄目ですね。
    4. 第五引数は後で変更しますがとりあえずここではこのままにしておきます。
  3. DestFD = opn_fil(&DestLink, F_WRITE, NULL);
    F_READの代わりにF_WRITEを指定します。
  4. cls_fil( DestFD );
    閉じて終了です。

実身ができたかな?

さて、outputという名前で新しい実身ができたでしょうか。lsしてみましょう。あれ?ないぞ。どこに行ったんだ?実は、くず実身になっているのです。適当に実身を選択して、右クリック→ディスク操作→状態表示してみましょう。outputというくず実身があるはずです。一体これはどういうことでしょうか。そして、どうしてoutputに関係のないtestについてget_lnkしているのでしょうか。

復習

ここで出てきた関数はcre_filです。


Tamakoshi Hiroki
Last modified: Fri Nov 29 17:08:42 JST 2002