假设我在磁盘上有五个二进制文件。这五个文件以二进制格式对数字序列进行编码,但它们都有不同的类型。假设它们是 SHORT INT、INT、LONG、FLOAT 和 DOUBLE。我们将让文件也有不同数量的数字存储在其中。
现在假设我有一个程序在执行时询问用户
输入要加载的文件名:
并且用户可以选择这五个文件之一。我希望程序将这些文件加载到一个数组中,以便可以执行进一步的计算。
我们可以假设存在两个函数:一个返回一个整数值,该值对文件的类型(即,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 格式写入文件,或者在写入其他格式之一之前进行转换。
我该怎么做这种事情?彻底糊涂了。