【发布时间】:2013-04-11 19:04:17
【问题描述】:
这个程序工作,
它逐行读取一个大日志文件,读取3行后显示分段错误。
int main(int argc, char *argv[])
{
char *line;
FILE *my_stream;
char *my_filename = "log";
my_stream = fopen (my_filename, "r");
while(fscanf (my_stream, "%s", &line)!= EOF)
{
printf ("==> %s\n", &line);
}
fclose (my_stream);
return 0;
}
输出
==> 123 ==> 12345 ==> 1234568 Segmentation fault
【问题讨论】:
-
你试过调试器吗?
-
@FredrikPihl 不,让我知道,使用哪个以及如何使用?
-
如果你在linux系统上,我推荐
gdb -
@Kajal - gdb
-
@Kajal 在进行调试之前我认为你应该阅读buffer overflow 你的代码很容易找到..未定义的行为。