前のページ|次のページ

FPUT関数

外部ファイルのファイルデータバッファ(FDB)にデータを移動します。開始位置はFDBの現在の列位置になります。

カテゴリ: 外部ファイル

構文

FPUT(file-id, cval)

必須引数

file-id

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

cval

ファイルデータを指定する文字定数、変数または式です。

詳細

FPUTは、操作が成功した場合は0、失敗した場合は≠0を返します。FDBに移動するバイト数は、変数の長さによって決まります。その後、列ポインタの値が増えて、新しいテキストの最後を1つ超えた位置になります。
注: 新しいレコードが現在のレコードよりも長い場合、現在のレコードのかわりに新しいレコードを書き込むことはできません。

この例では、ファイル参照名MYFILEを既存のファイルに割り当てて、APPENDモードでファイルを開こうとします。変数FIDの正の値が示すように、ファイルが正常に開かれた場合、FPUTを使用してFDBにデータを移動し、FWRITEを使用してレコードを追加した後、ファイルを閉じます。マクロステートメントでは、文字列を引用符で囲む必要はありません。
%macro ptest;
%let filrf=myfile;
%let rc=%sysfunc(filename(filrf, test.txt));
%let fid=%sysfunc(fopen(&filrf, a));
%if &fid > 0 %then
   %do;
      %let rc=%sysfunc(fread(&fid));
      %let mystring=This is some data.;
      %let rc=%sysfunc(fput(&fid, &mystring));
      %let rc=%sysfunc(fwrite(&fid));
      %let rc=%sysfunc(fclose(&fid));
   %end;
%else
   %put %sysfunc(sysmsg());
%let rc=%sysfunc(filename(filrf));
%put return code=&rc;
%mend;
%ptest;
次の出力がログに書き込まれます。
return code = 0

関連項目:

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