이중 포인터 문자열 입력 문제
글쓴이: thinga3 / 작성시간: 화, 2016/12/13 - 10:56오전
지금 제가 작성하고 있는 매우 간단한 코드입니다.
여기에서 문제가 하나 있는데
mkconstant.c에서
sscanf부분에서 마지막 acc[j]를 넣어주면 컴파일은 되지만 자꾸 실행할시 segmentation fault가 뜹니다.
내가 어디 오타같은게 났나 하고 계속 찾아봤지만 보이지 않았습니다.
그러다가 sscanf부분에서
마지막 문자열 입력 부분을 제거해주니 그때는 segmentation fault가 나오지 않고 제대로 실행되었습니다.
sscanf(rbuf, "%s %s %f %f %d %s %s", net[j], sta[j], &lat, &lon, &dep, rec[j], acc[j])
이를
sscanf(rbuf, "%s %s %f %f %d %s", net[j], sta[j], &lat, &lon, &dep, rec[j])
이과 같이 바꿨을땐 제대로 실행이 되었습니다.
그래서 제가 생각할땐 마지막 문자열 받는 부분에 무슨 문제가 있는것 같은데
그걸 알지 못하겠고 해결할 방법을 찾지 못해 올립니다.
참고로, 제 운영체제는 osx이고, 파일은 첨부하였습니다.
File attachments:
첨부 | 파일 크기 |
---|---|
01.mkconstant.tar | 60 KB |
Forums:
OSX에서 해보았는데, sscanf 자체에는 별
OSX에서 해보았는데, sscanf 자체에는 별 문제가 없어보이고요. 발견하지 못한 문제가 더 있을수 있겠습니다만
첫번째와 세번째가 서로 얽히면서 입력파일을 작게 하면 잘 되기도 하다가 입력파일이 커지면 printf 하면서 폴트가 나기도 하고 그러나보네요.
두번째 문제는 i값이 엄청나게 커지거나 음수가 되면서 무한히 읽고요.
좋은 하루 되세요!
감사합니다 .
감사합니다.
댓글 달기