2014-11-03 4 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

질문에 url을 넣지 마십시오. 그러나 관련 코드를 넣으십시오. 모든 경고와 디버그 정보 ('gcc -Wall -Wextra -g')로 컴파일하십시오. 그런 다음 ** 디버거를 사용하십시오 ** ('gdb') –

+3

여기에 관련 코드를 게시하십시오. 귀하의 priogram은 길다. 분할 오류가 발생한 위치 (예 : 디버거)를 분리하고 오류를 재현하는 작은 컴파일 가능한 예로 프로그램을 축소합니다. –

+0

도움을 받으려면 훨씬 더 많은 정보를 제공해야합니다. 우선 [최소, 완전하며 검증 가능한 예제] (https://stackoverflow.com/help/mcve)를 추가하십시오. 500 줄의 코드는 모두 게시하지 마십시오. 또한 귀하의 segfault가 어디에서 발생하는지 *에 대한 정보를 제공해주십시오. 정확한 선을 지적하는 것이 바람직합니다. –

답변

0

codepad.org에서이 코드를 실행하면 충돌이 발생할 것입니다. 왜냐하면 그것은 모든 파일 입출력과 사용자 입력과 관련된 것들을 지원하지 않기 때문입니다. 데스크탑 환경에

는 다음과 같은 경우에 디버거에게

Valgrind의이 가장 좋은 도구를 사용하여 충돌 제공합니다.

은 여전히 ​​당신은 다음

후 당신은 문제가있는 코드의 관련 부분 할 수 없습니다.

관련 문제