StringStream クラスにより、すべてのテキスト ファイル入出力関数を使って文字列を構成し、解析することができます。たとえば、StringStream を設定して、テキスト ファイルと同じように出力したりフォーマットして、文字列を作成できます。逆に、String を StringStream に変換し、 readLine() 、 readValue() 、 skipToString() などの関数を使用して操作することもできます。String と StringStream 間の変換は簡単なため、長い複雑な文字列を処理する場合に便利です。
StringStream クラスを AppData アクセス関数と併用して、大容量で複雑なスクリプト生成データを 3ds Max シーン ファイルの内部に永久的に保存して検索できます。
初期文字列を使用して新しい StringStream を作成します。
詳細については、文字列リテラルおよび文字列値も参照してください。
ガベージ コレクションを待たずに、stringStream 値によって使用されているメモリを解放します。
print() および format() 関数は、StringStream を一度に 1 つずつ作成する手段として機能します。テキスト ファイル出力関数と同じように、出力またはフォーマット関数を呼び出すたびに既存のテキストに追加され、StringStream は必要に応じてダイナミックに拡張していきます。次に説明する seek() 関数を使って、出力ストリームを再配置できます。
FileStream 値に使用できるテキスト ファイル入力関数と同じです。詳細については、FileStream 値を参照してください。StringStream インスタンスを呼び出すと、連続する値、行、文字などを抽出しながら文字列を段階的に読み込みます。
2 番目の引数として渡された文字列を 1 番目の引数として指定された stringstream に追加します。
stringstream をそのまま操作し、結果の stringstream を返します。
stringStream から次の MAXScript <operand> を読み取り、評価します
オプションの ignoreStringEscapes: キーワード引数を指定しないか、あるいは false に指定し、かつ、読み取った値が文字列である場合、文字列の文字「¥」はエスケープ文字として処理されます。true の場合、文字列内の「¥」は、エスケープ文字として処理されません。このオプションは、3ds Max 8 以降 で使用可能です。
stringStream から次の MAXScript <expr> を読み取り、評価します。execute()と同様に、評価の範囲は現在のスコープではなくグローバル スコープです。
(string引数の)区切り文字を得て、区切り文字が見つかる(またはファイルの終わりに到達する)まで文字を読み込み、それらの文字を文字列として返します。
指定した文字列を前方検索し、文字列が見つかったらその文字列の直後に位置を設定します。文字列が見つからない場合、関数は undefined 値を返します。
stringStream に残されたすべての式を読み込み、評価します。評価のスコープは現在のスコープではなく、グローバル スコープであることに注意してください。
後続の入出力がそこから開始するように与えられたオフセットでファイルを位置決めします。
stringStream にこれ以上データがない場合は true を、ある場合は false を返します。
close() および flush() 関数は、ファイル入出力との一貫性を維持するために用意されていますが、これらは StringStream には必要なく、呼び出されても何も実行しません。