Name

fostream — ファイルへのデータ出力ストリーム

Description

ローカルホスト上のファイルシステムにある ファイルへのバッファリングされた出力を扱うクラスである. (基本的にASCIIのテキストファイルを扱うことを想定している.)

Method

close

void close();

ストリームを閉じて関連するシステムリソースを開放する. すでに閉じられたストリームを閉じた場合など, エラーが起こっても無視され,例外は発生しない.

flush

void flush();

出力バッファに溜まっている内容を物理デバイスに書き出す.

まだopenされていないストリームや,すでにcloseされているストリーム等, 無効なストリームに対して呼び出した場合は実行時例外が発生する.

open

void open( string arg );

パス名argで指定されたファイルを開く. ファイルが存在しないなどのエラーが起こった場合は,例外が発生する.

print

void print( string arg );

文字列argを出力ストリームに書き出す.

printf

void printf( string arg1 , list arg2 );

書式指定arg1にしたがって リストarg2の内容を書式化し, ストリームに書き出す.

書式指定arg1は一部を除いて [15] C言語のprintf()で使用されるものと同じである. また,QScriptでは可変引数を持つ関数を使用できないので, 書式か対象のオブジェクトはリストにして渡す.

sys.printf("a: %d, b: %10.3f\n", [$a, $b]);

この例では,integerオブジェクト$arealオブジェクト$bから リストを作成して(Section 3.4.10, “リスト定義”参照)渡し, それぞれの内容を書式化して出力している.

書式化に際して,integer, real間では 自動的かつ強制的に型変換が起こる.それ以外のクラスに関しては, 書式指定とオブジェクトの型が矛盾した場合は実行時例外が発生する.

println

void println( string arg );

最後に改行文字を付加して, 文字列argを出力ストリームに書き出す.

printlnf

void printlnf( string arg1 , list arg2 );

最後に改行文字を付加して, 書式化した文字列を出力ストリームに書き出す. 引数や書式化に関してはprintf()メソッドを参照.

Class method

fostream

object fostream( );

コンストラクター. Openされていないファイル出力ストリームを作成して返す.

fostream

object fostream( string arg );

コンストラクター. ファイル出力ストリームを作成して, argで示されたファイルをopenする. ファイルが書き込めない等のエラーの場合には例外が発生する.



[15] 例えば,ポインターの内容を表示する%p等は使用できない.