Fortranでテキストファイルを読みこんで処理するとき,
セオリーとして,
ファイルを全部文字変数buffでだーっと読んで,
iostatが0のときは終了,ってしといて
indexとか使ってタグワードが引っかかったらほしい要素の書式付readする,って流れはよくやる手.
んで今まで機会が無くてあんまりやったことがなかったのが,
"読み込む要素の数が不定"な場合.
今日ちょっとその話になった.
したら,文字をコードに変換して,空白か文字列か数字か,っていうのを判断して,
buffのどの位置にどんな要素があるか,というのから判断するという手を聞いた.
そのときはあんまし深く考えず,へぇー,って終わったんですけど.
よく考えたら,コードに変換するってことはたぶんそれichar使うよね.って思って.
icharの引数で与えられる文字列サイズは1だから,buffのサイズ分doまわして…
ってなことをやるってこと?毎回?
効率わるくね?
てなことをちょっと思った.
いや,もしかしたら僕の知らない文字関数があるのかも…
って思ってちょっと調べてみたけど,見つけられなかったorz
あと,PHITSなんかではタグワード中に空白なんかがあっても認識するようになってるらしい.
タグワードが"HOGE"だったとしたら,"[H o g e]"みたいにしてもいいんだって.
これをやるのにぱっと上手いやりかたは思いつかなくて,
やっぱ空白全部とって,文字列だけにしてindexかけるのかな?
だとしたら,やっぱ効率わるいと感じる..
まぁソース読んでみれ,って話なんだけど.
手元にないし.
基本的にプログラミングは我流なので,アルゴリズムな話はちょっと弱いな~自分
と感じました.
まだまだ勉強不足...
セオリーとして,
ファイルを全部文字変数buffでだーっと読んで,
iostatが0のときは終了,ってしといて
indexとか使ってタグワードが引っかかったらほしい要素の書式付readする,って流れはよくやる手.
んで今まで機会が無くてあんまりやったことがなかったのが,
"読み込む要素の数が不定"な場合.
今日ちょっとその話になった.
したら,文字をコードに変換して,空白か文字列か数字か,っていうのを判断して,
buffのどの位置にどんな要素があるか,というのから判断するという手を聞いた.
そのときはあんまし深く考えず,へぇー,って終わったんですけど.
よく考えたら,コードに変換するってことはたぶんそれichar使うよね.って思って.
icharの引数で与えられる文字列サイズは1だから,buffのサイズ分doまわして…
ってなことをやるってこと?毎回?
効率わるくね?
てなことをちょっと思った.
いや,もしかしたら僕の知らない文字関数があるのかも…
って思ってちょっと調べてみたけど,見つけられなかったorz
あと,PHITSなんかではタグワード中に空白なんかがあっても認識するようになってるらしい.
タグワードが"HOGE"だったとしたら,"[H o g e]"みたいにしてもいいんだって.
これをやるのにぱっと上手いやりかたは思いつかなくて,
やっぱ空白全部とって,文字列だけにしてindexかけるのかな?
だとしたら,やっぱ効率わるいと感じる..
まぁソース読んでみれ,って話なんだけど.
手元にないし.
基本的にプログラミングは我流なので,アルゴリズムな話はちょっと弱いな~自分
と感じました.
まだまだ勉強不足...