对不起,是双帖。删除请。
答案 0 :(得分:0)
如果filesize
是缓冲区filebuffer
的大小,则访问filebuffer[filesize]
是错误的。这是你在i == filesize
时循环的第一次迭代中所做的
缓冲区的最后一个元素是filebuffer[filesize-1]
,这是你的循环开始的地方。
此错误可能会导致您的代码崩溃,但可能会或可能不会导致此代码行为异常。你能详细说明你看到的结果是“错误的”吗?
答案 1 :(得分:0)
你没有说明什么不起作用,但我怀疑这个问题是一个错误的错误。而不是:
for ( i = filesize; i > 0; i-- )
你应该这样做:
for ( i = filesize - 1; i >= 0; i-- )
(数组下标从0开始,而不是1)