私はフリーダイヤルまたはそれに類する方法で使いたいです。私はそれが可能であるかどうかわからない...私はケースを説明してみましょう:フリーダの代替使用
私は「ダミー」という名前のバイナリファイルを、持っています。このファイルには、unsigned char配列が含まれています。しかし、私はそれらを4倍のメモリ空間を格納する浮動小数点配列に入れたいと思っています。
私は、次のように私の目標を達成することができます
FILE* in_file;
int numberOfCharacters = 1000; // number of unsigned characters to read ...
in_file = fopen("dummy", "rb");
float* floatArray = (float*) malloc(numberOfCharacters * sizeof(float));
for(int i=0;i<numberOfCharacters;i++)
{
unsigned char temp;
fread(&temp, sizeof(unsigned char), 1, in_file);
floatArray[i] = temp;
}
私は(実際には本当にしようとしなかった)この方法はおそらく動作します知っています。しかし、私はそれがより良い(より速い)方法であるかどうかは不思議です。たぶん、ループなしで..?
ありがとうございます。
Sait
何が奇妙ですか?btw:Cの質問のようです。 – BigMike
endiannessがバイナリファイルのソースと宛先(読み込み先)と一致せず、書き込み/読み取りプロセスが気にしない場合は、問題に遭遇する可能性がありますその。 – dirkgently
私が持っている符号なし文字配列の長さは少し大きいです。だから、どんな改善も非常に役に立ちます。 – Sait