2014-11-03 70 views
-5

当我注释掉它有可能写入文件的一切工作的部分为什么我会遇到分段错误?

if((fu=fopen("lista.txt","r"))) 
    { 
     while(fscanf(fu,"%s %s %s %llu %f %f %d",e.ime, e.prezime,e.roditelj,&e.JMBG,&e.visina,&e.tezina,&e.godine) != EOF) 
     { 
      insertBack(&head,&tail,e); 
     } 
     ispisLista(head,tail); 
     printf("\b"); 
    } 

    fclose(fu); 

这是代码

http://codepad.org/LKWZDIFT

编辑:我通过使文件固定为“lista.txt “在源代码的文件夹中,一切正常!

+3

不要把你的问题的网址?但是放了相关的代码。编译所有警告和调试信息('gcc -Wall -Wextra -g')。然后**使用调试器**('gdb') – 2014-11-03 06:28:48

+3

请在此处发布相关代码。你的宝库长了。隔离发生分段错误的位置(例如,在调试器中),将程序减少到可重现错误的小型可编译示例。 – 2014-11-03 06:30:15

+0

您需要提供更多信息才能帮助您。首先,请添加一个[最小,完整和可验证示例](https://stackoverflow.com/help/mcve)。不要发布所有500行代码。另外,给我们提供有关*您的段错误发生的信息。指出确切的路线是可取的。 – 2014-11-03 06:31:26

回答

0

你正在codepad.org上运行该代码,那么它肯定会给你造成崩溃。因为它不支持所有的文件I/O和用户输入相关的东西。

在桌面环境,如果它给了崩溃,然后使用调试

的valgrind是最好的工具,这样的情况。

你仍然不能使它 然后

后在你有问题的代码的相关部分。

相关问题