【发布时间】:2017-04-21 21:30:52
【问题描述】:
当我运行这个函数时,我无法弄清楚为什么这个程序会出现段错误: https://github.com/biohazard-hack/high-hand/blob/master/events.c#L73
我有这个程序的另一个版本,它是一个草稿,在这里: http://pastebin.com/TgiqM9tX
我知道我在当前版本中读取文件的方式是错误的,但是当我使用 fscanf() 或任何东西访问文件时会出现分段错误。
它会以文本或二进制读取模式打开文件就好了,但第二次我从中读取任何类型的文件,它就会爆炸。
(gdb) 运行 启动程序:/home/tracer/code/rcg/high-hand/high-hand [启用使用 libthread_db 进行线程调试] 使用主机 libthread_db 库“/lib/x86_64-linux-gnu/libthread_db.so.1”。 信息:手不为空
这是使用 gdb 的 fscanf() 的输出:
Program received signal SIGSEGV, Segmentation fault.
0x00007ffff7537686 in _IO_vfscanf_internal (s=s@entry=0x9ee820,
format=<optimized out>, argptr=argptr@entry=0x7fffffffdc78,
errp=errp@entry=0x0) at vfscanf.c:843
843 vfscanf.c: No such file or directory.
【问题讨论】:
标签: c file segmentation-fault sdl-2