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,可能带有重现问题的文件?操作系统和版本信息也会有所帮助。谢谢!

于 2013-09-14T19:33:51.333 回答