1

D でオーディオ ファイルの振幅を読み取っています。文字列から float[] に変換しています。次のように書いています。

    auto amplitudeByTime = file2string("data8.txt");//file2string returns a float[] with size I determine. 
    writeln(amplitudeByTime);

float[] のサイズが 1660 (またはそれ以下) の場合はすべて問題ありませんが、1661 (またはそれ以上) になると writeln は次のような例外をスローします。

std.stdio.StdioException@std\stdio.d(2431): Bad file descriptor
----------------
0x0040EA7B
0x00411F62
0x0040FD80
0x0040FDBB
0x0040F9B9
0x0040B774
0x75EDD2E9 in BaseThreadInitThunk
0x77BF1603 in RtlInitializeExceptionChain
0x77BF15D6 in RtlInitializeExceptionChain
----------------

何が問題になる可能性があるかについて何か考えがありますか?

4

1 に答える 1

2

writeln のバグのようです。http://d.puremagic.com/issuesに、問題を再現するファイルを添付して送信していただけますか? OSとバージョン情報も役立ちます。ありがとう!

于 2013-09-14T19:33:51.333 に答える