解决了缓冲区问题和一个计数错误，另外添加了测试的文件