Fortranでテキストファイルを読みこんで処理するとき,

セオリーとして,

ファイルを全部文字変数buffでだーっと読んで,

iostatが0のときは終了,ってしといて

indexとか使ってタグワードが引っかかったらほしい要素の書式付readする,って流れはよくやる手.



んで今まで機会が無くてあんまりやったことがなかったのが,

"読み込む要素の数が不定"な場合.



今日ちょっとその話になった.



したら,文字をコードに変換して,空白か文字列か数字か,っていうのを判断して,

buffのどの位置にどんな要素があるか,というのから判断するという手を聞いた.



そのときはあんまし深く考えず,へぇー,って終わったんですけど.



よく考えたら,コードに変換するってことはたぶんそれichar使うよね.って思って.



icharの引数で与えられる文字列サイズは1だから,buffのサイズ分doまわして…

ってなことをやるってこと?毎回?



効率わるくね?



てなことをちょっと思った.

いや,もしかしたら僕の知らない文字関数があるのかも…

って思ってちょっと調べてみたけど,見つけられなかったorz



あと,PHITSなんかではタグワード中に空白なんかがあっても認識するようになってるらしい.



タグワードが"HOGE"だったとしたら,"[H o g e]"みたいにしてもいいんだって.

これをやるのにぱっと上手いやりかたは思いつかなくて,

やっぱ空白全部とって,文字列だけにしてindexかけるのかな?

だとしたら,やっぱ効率わるいと感じる..



まぁソース読んでみれ,って話なんだけど.

手元にないし.



基本的にプログラミングは我流なので,アルゴリズムな話はちょっと弱いな~自分

と感じました.

まだまだ勉強不足...