我目前正在研究用C实现的简单服务器。 处理jpg文件工作正常,btu png给我一个分段错误。我从来没有超过这段代码。为什么会这样?
fseek (file , 0 , SEEK_END);
lSize = ftell (file);
rewind (file);
感谢。
答案 0 :(得分:2)
您更有可能以有问题的方式访问这些阵列。检查缓冲代码中的逻辑。确保在中心位置使用缓冲区大小#define'd,而不是硬编码大小和偏移量。你让它退出崩溃,但是如果你错过了潜在的逻辑错误,当你改变其他东西时,你可能会遇到神秘的问题。你可能值得花时间故意再次打破这个程序,并弄清楚它为何被打破。正如其他人所建议的那样,调试器在这一点上是一个很好的主意。或者发布一个更完整的代码示例。