は、私は本当にファイルのスタックであるバイナリファイルを持っている、形式は次のとおりです。実行時にバッファ長を設定すると、read(ubyte []バッファ)を使用してBufferedFileを読み取るにはどうすればよいですか?
lengh_of_subfile,subfile
length_of_subfile
は、64ビットの整数です。 long
を読むことができますが、サブファイル用のバッファを作成しようとするとコンパイル時に読み込めないというエラーが表示されます。私は何が欠けていますか?私はerlang、PHP、C#で同じ抽出ツールを書いています... Dはループのために私を投げています。
void main(string args[]) {
Stream file = new BufferedFile(args[1], FileMode.In);
int counter = 0;
while(file.position < file.size) {
ulong len;
file.read(len);
ubyte[len] ogg;
file.read(ogg);
string outname = getcwd() ~ "/" ~ to!string(counter) ~ ".ogg";
Stream oggout = new BufferedFile(outname, FileMode.OutNew);
oggout.write(ogg);
writefln("Creating file " ~ to!string(counter) ~ ".ogg");
counter++;
}
}
[動的配列](http:// /vindions/8363728/d-dynamic-array-initialization-stride-and-the-exexoperation)。 (私はDでプログラムしていないので、しかし、どのように、私は考えていない) – Ryan