안녕하세요. 나는 C++로 16 진수 계산기를 작성하고있다. 프로그램은 40 자리 피연산자를 처리 할 수 있어야하므로 (그리고 16^40은 긴 long이 처리 할 수있는 것보다 훨씬 큽니다) 작업이 "손으로"수행되어야합니다.glibc가 감지되었지만 동적 메모리를 사용하고 있지 않습니까?
그래도 문제가 조금 있습니다. 내 Mac (OS X 10.6)에서는 터미널에서 Xcode와 g ++를 모두 사용하여 컴파일하고 실행할 수 있습니다. Windows에서도 Dev C++을 사용하는 친구가 있어도 괜찮습니다. 내 학교의 썬 클러스터에 SSH 경우, 그러나, 나는 g ++ 및 응용 프로그램이 실행되지만 함께 몇 가지 작업 후에 배변 :
"*** glibc detected *** ./a.out: free(): invalid pointer: 0xb786e6f4 ***".
내 교수를 사용하고, 따라서 왜 무슨 일 클러스터를 추측하고있어 나는 점수를 잃어 버렸다.
은 내가 명시 적으로 메모리 할당을 사용하고 있지 않다으로이 발생하는 이유는 확실하지 않다, 나는이 오류에 읽은 모든에서, 보통 (항상)하지 않았다 뭔가를 삭제하려고의 결과입니다 새로운 연산자로 만들었습니다. 나는 그것이하고있는 앞뒤 문자열/char 변환 덕분인지 궁금해하고있다. 그러나 그것은 나에게 여전히 수수께끼 일 뿐이며 몇 가지 경우에 잘 돌아 간다.
기본적으로이 프로그램은 파일 이름을 물어보고 파일을 읽고 각 문자열을 수행해야 할 사항에 따라 해석 한 다음 파일 끝까지 수학을 수행합니다. http://pastebin.com/xx59eQsu
이미 문자 배열과 일부 문자열을 개조했습니다 여기
http://pastebin.com/1DW5pd6p 내가 (다시는 내 프로그램이 두 번째 수술 후 사망주의) 사용 된 데이터 파일은 다음과 같습니다
내 코드입니다 그 두 가지 작업을 할 수있게 해주는 것 같지만, 혼란 스럽습니다. 봐 주셔서 감사합니다, 모두들. 모든 응답을 부탁드립니다. 당신은chr
범람하고
음 ... 왜 16^40을 언급 했습니까? – fazo
메모리 할당을 명시 적으로 수행하지는 않지만 메모리 할당 호출을 사용하는 문자열 및 스택 유형 연산을 사용하고 있습니다. 나는 것을 알고,하지만 난 그게 문제에 실행했던 같은 시간에 잘 모르겠지만, 지금은 알 - P –
fazo는 경우에 사람이 sprinf를 사용하여 기지 사이의 변환을 제안했다. –