ずいぶん間が空いてしまった
ちょっと気付いたこととか、まとめるほどでもないけど調べたことでもなんでも書き出していく方がいいのかも。だんだん何書いていいのか分からなくなってきた。
ここのところのまとめ:
固定長ファイルの読み込みをC#で書いてる。昔似たようなことをC++でやっているのを見て真似してやってみた。
- ファイルを開き1レコード分を読み込む
- 読み込んだデータ(バイト)を構造体にキャストする
*エンディアンによってはキャストするだけではだめ
と、やってみようとしたらC#というか、.NETはタイプセーフというのか無理なキャストができなくなっていた。
さてどうしたものかなと、unsafeコードでポインタ使うようにしてみたり、COM相互運用で使うようなMarshalクラスを使ってみたりしたけど、上手くいかない。
今は、読み込むべき型とサイズを1フィールドごとにReflectionで取得して、ファイルから読みだすようなコードにしている途中。型は拾えるけど、参照型になるからサイズが固定じゃないのでここで悩み中。
固定長のファイル読み込みなんてかなり初歩的だけど、調べれば調べるほどいろいろな可能性が出てきてちょっと混乱してます。