ディスク上に5つのバイナリファイルがあるとします。これらの5つのファイルは、すべて異なるタイプであることを除いて、数値のシーケンスを2進形式でエンコードします。それらがSHORTINT、INT、LONG、FLOAT、およびDOUBLEであるとしましょう。ファイルにも異なる数の番号が保存されるようにします。
ここで、実行時にユーザーに尋ねるプログラムがあるとします。
ロードするファイル名を入力します。
ユーザーはこれら5つのファイルのいずれかを選択できます。プログラムでこれらのファイルを配列にロードして、さらに計算を実行できるようにしたいと思います。
ファイルのタイプ(つまり、SHORT INT、INT、LONG、FLOAT、またはDOUBLE)をエンコードする整数値を返す関数(「getfiletype」と呼びます)と、ファイル内の番号(たとえば、1000、9338、8131、0など)(「getfilesize」と呼びます)。実際のエントリ数は、数十億の数になる可能性があります。可能であれば、プログラム内で、ユーザーが選択したファイルの値を保持する配列(「配列」など)に同じ名前を使用したいと思います。そうすれば私は次のようなブロックを持つことができます
N=getfilesize("pickedfile.dat");
for(i=0 ; i<N ; i++ ) {
doublearray[i]==2.0*(double)array[i]+7.12;
}
配列を変換できます。ここでは、変換された値を保持するために「doublearray」と呼ばれる新しい配列を導入しました。このdouble配列は、DOUBLE形式でファイルに書き込まれるか、他の形式の1つに書き込む前に変換されます。
このようなことをするにはどうすればよいですか?完全に混乱しています。