我不断地得到一个分段错误,并把它缩小到一行(这是下面代码中的“fseek”行——我把下面的所有内容都注释掉了,仍然得到了错误,但当我注释掉那一行时却没有得到它。)这是我的代码:
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char *argv[])
{
FILE *f_in, *f_out;
f_in = fopen(argv[1], "rb");
fseek(f_in, 0, SEEK_SET);
return 0
}
所有其他代码看起来都很好,所以我没有包括它。我尝试在f SEEK行之前添加一行:“fseek(f_-in,0,SEEK_-END);”。我也尝试过将0改为其他数字,并在fseek之前执行fread,但始终会出现分段错误。有人知道那条线(或者另一条线,如果不是那条线的话)有什么问题吗?
最佳答案
检查对fopen()
的调用是否失败:
f_in = fopen(argv[1], "rb");
if ( NULL == f_in )
{
// handle error
.
.
.
关于c - C代码中fseek行中的段错误,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/29836185/