write
フォーマットされたファイルに書き込む
呼び出し手順
write(file_desc, a) write(file_desc, a, format) write(file_desc, a, k, format)
パラメータ
- file_desc
- ファイル名を指定する文字列. 既存のファイルを上書きしようとすると、エラーが発生します.
- または、 ファイル(…) で開かれたファイルの整数 ID
(file参照).
%io(2)
を使用すると、コンソールに書き込みが行われます.
この関数はUTFのファイル名をオープンすることができません. この場合は mopen を使用してください.
- a
実数のマトリックス、または文字列の列.
- format
文字列, "Fortran" 形式を指定します. 左括弧で始まり、右括弧で終わる必要があります. 形式には浮動小数点数, 整数または文字編集モードを混ぜることは できません.
Formatの例 :
"(1x,e10.3,5x,3(f3.0),1x,i4)"
,"(10x,a20)"
."x": white space. "5x" = 5 white spaces "a": string. "a20" = 20 first characters of the input string. "i": print as integer "f": real number "e": real number in exponential form. "(…)": group. 3(…) = iterate 3 times the group. 詳細はFortranブックを参照ください.
- k
整数ベクトル
説明
実数行列または文字列の列ベクトルを整形されたファイルに
行毎に書き込みます.
引数a
の各行は,
file_desc
ファイルの新しい行で始まります.
format
に基づき
a
引数の指定した行が
file_desc
ファイルの複数行に書き込まれます.
直接アクセスファイル :
x=write(file_desc, a, k, format)
. ここで
k
はレコードのベクトルです (行毎に1レコード, すなわち,
m=prod(size(k)
)
write(%io(2),....)
は Scilabのウインドウを書き込みます.
この場合,format
は
行列の各行について1行出力する必要があります.
この拘束条件が確認できない場合,予測できない結果となる可能性があります.
例
if getos() == 'Windows' then unix('del asave'); else unix('rm -f asave'); end A = rand(5,3); write('asave',A); A = read('asave',5,3); write(%io(2),A,'('' | '',3(f10.3,'' | ''))') write(%io(2),string(1:10)) write(%io(2),strcat(string(1:10),',')) write(%io(2),1:10,'(10(i2,3x))') if getos() == 'Windows' then unix('del foo'); else unix('rm -f foo'); end write('foo',A)
参照
履歴
バージョン | 記述 |
2023.1 | write(…) overwrites existing file. |
Report an issue | ||
<< writb | Input/Output functions | write4b >> |