前のページ|次のページ

FWRITE関数

外部ファイルにレコードを書き込みます。

カテゴリ: 外部ファイル

構文

FWRITE(file-id <, cc>)

必須引数

file-id

通常、FOPEN関数によってファイルが開かれたときに割り当てられた識別子を指定する数値変数です。

オプション引数

cc

改行制御文字を指定する文字定数、変数または式です。

空白 新しい行でレコードを開始します。
0 新しい行の前に1つの空白行をスキップします。
- 新しい行の前に2つの空白行をスキップします。
1 新しいページで行を開始します。
+ 前の行を上書きします。
P コンピュータプロンプトとして行を解釈します。
= 改行制御情報として行を解釈します。
その他すべて 新しい行で行レコードを開始します。

詳細

FWRITEは、操作が成功した場合は0、失敗した場合は≠0を返します。FWRITEは、ファイルデータバッファ(FDB)のテキストを外部ファイルに移動します。改行制御文字を使用するには、FOPENでレコード形式としてP (印刷形式)を指定してファイルを開く必要があります。
注: 更新モードを使用する場合、FWRITEを実行する前にFREADを実行する必要があります。新しいレコードが現在のレコードよりも長い場合、現在のレコードのかわりに新しいレコードを書き込むことはできません。

この例では、ファイル参照名MYFILEを外部ファイルに割り当ててそのファイルを開こうとします。ファイルが正常に開いた場合、2つの空白行をスキップして外部ファイルに1から50までの番号を書き込みます。マクロステートメントでは、文字列を引用符で囲む必要はありません。
%let filrf=myfile;
%let rc=%sysfunc(filename(filrf, physical-filename));
%let fid=%sysfunc(fopen(&filrf, o, 0, P));
%do i=1 %to 50;
   %let rc=%sysfunc(fput(&fid,
      %sysfunc(putn(&i,2.))));
   %if (%sysfunc(fwrite(&fid,-)) ne 0) %then
     %put %sysfunc(sysmsg());
%end;
%let rc=%sysfunc(fclose(&fid));

関連項目:

前のページ|次のページ|ページの先頭へ