前回の記事で配列をファイルに読み書きするところはできたので次の段階。これを適用したい元のスクリプトは
変数A
配列B
の2つの保存したい要素があるので、これをちゃんと切り分けて読み書きできないといけない。
とりあえず変数Aは1個しかないのは確定なので変数Aと配列Bをただ直列に並べて
“一つ目の文字列は変数A、2つ目以降は配列”
という決まりごとを設定してしまえばいいと考える。
まず書き込み。
{
string $center = "777";
string $str[] = { "aaa", "bbb", "ccc", "ddd" };
string $fname = "C:/onogu2/test.txt";
int $fid = `fopen $fname "w"`;
//まず1個目に文字列変数$centerを格納
$val = $center+="\n";
fprint $fid $val;
//2個目以降に$strを格納
string $val;
for( $val in $str )
{
$val+="\n";
fprint $fid $val;
}
fclose $fid;
}
_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/
次に書き込み。しかしうまくいかない…
{
string $str[];
string $center;
$fname = "C:/onogu2/test.txt";
$fileId=`fopen $fname "r"`;
$nextLine = `fgetline $fileId`;
//ファイルの1行目を$centerに格納
$center=$nextLine;
//試しにロケータを作ってみるが、printで中身はちゃんと表示されるのに名前のないロケータになってしまう…
print $center;
spaceLocator -name $center;
//2行目以降を配列に入れたいが1行目から配列に格納されてしまう
int $cnt = 0;
while ( size( $nextLine ) > 0 )
{
$str[ $cnt ] = $nextLine;
$nextLine = `fgetline $fileId`;
$cnt++;
}
fclose $fileId;
print $str;
for ($val in $str)
{
spaceLocator -name $val;
}
}
2009年から仕事でMAYAを勉強。MAYAはデフォルトでは使い勝手が悪い。逆にスクリプトを覚えてカスタマイズするとかなり強力なツールになることがわかってきた。
物覚えが悪いので勉強したことはリマインダとしてココに書き留めるようにする。
ブログ アーカイブ
-
▼
09
(31)
-
▼
5月
(18)
- 外部ファイルの存在チェック
- ラジオボタンの謎 2
- ちょっと寄り道・・・ラジオボタンの謎
- 汎用パーツをLibみたいにする 2
- 汎用パーツをLibみたいにする
- 今日のスクリプト格言
- 見やすいコーディングを考える
- skinClusterの名前を引っ張る 2
- skinClusterの名前を引っ張る
- 【MEL】頂点ウェイトの値から端数を取る 3
- 【MEL】頂点ウェイトの値から端数を取る 2
- 【MEL】頂点ウェイトの値から端数を取る
- 【MEL】複数の配列を格納、読み込み
- 【MEL】ファイル(配列)読み込み
- XSI風味のプロジェクトマネージャー
- スクリプトのインデント
- 【MEL】ファイルへの配列書き込み 2
- 【MEL】ファイルへの配列書き込み
-
▼
5月
(18)
0 件のコメント:
コメントを投稿